cucumber-protactor-typcript правильный способ установить сон и элемент css

Я хотел бы щелкнуть на предоставленной пользователем строке CSS с использованием транспортира, огурца и машинописного текста, однако код, который я написал, здесь не работает.

element (by.id (x)) работает отлично, однако element(by.css(x)) не работает

Steps.ts

import { Given, Then, When } from '
import {$, browser, by, element} from 'protractor';
import { FacebookPage } from '../../page_objects/pages/facebook/facebook.page';
import { expect } from '../support/expect';

let page:

Then(/^várok (.*) másodpercet$/, function (wait): number {
    browser.sleep(wait * 1000); //works fine but could you please provide a better solution?

});

Then(/^rákattintok (.*) id-val rendelkező gombra$/, async function     (idOfElement){
        await element(by.id(idOfElement)).click();
        return true; //works perfectly
});

Then(/^rákattintok (.*) css kóddal rendelkező gombra$/, async function     (idOfElement){
    return await element(by.css(idOfElement,)).click() //doesnt work at all
});

При необходимости я могу предоставить код огурца и конфигурацию транспортира, но я не думаю, что это необходимо.

Ошибка messege: NoSuchElementError: Элемент не найден с использованием локатора: By(css selector, href="/messages/t/")

Сообщение об ошибке в другое время: InvalidSelectorError: недопустимый селектор: был указан недопустимый или недопустимый селектор

Я уверен, что есть текст href = "/ messages / t /"

1 ответ

Решение

Чтобы выбрать и щелкнуть элемент по HREF с помощью транспортира, выполните следующие действия:

Then(/^rákattintok (.*) css kóddal rendelkező gombra$/, async function (href) {
    const anchor = await element(by.css(`[href="${href}"]`));
    await anchor.click();
});
Другие вопросы по тегам