cucumber-protactor-typcript правильный способ установить сон и элемент css - PullRequest
0 голосов
/ 09 февраля 2019

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

элемент (by.id (x)) работает отлично, однако элемент (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 /")

Ошибка messege в других случаях: InvalidSelectorError:Неверный селектор: был указан неверный или недействительный селектор

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

1 Ответ

0 голосов
/ 09 февраля 2019

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

Then(/^rákattintok (.*) css kóddal rendelkező gombra$/, async function (href) {
    const anchor = await element(by.css(`[href="${href}"]`));
    await anchor.click();
});
...