Как я могу использовать .getText () для Selenium WebDriver на element.By (css ())? - PullRequest
0 голосов
/ 06 ноября 2019

решено Это и помогло.

const text = await browser.findElement(By.css("h1")).getText();
assert.equal(text, "About me");

Попытка протестировать мой интерфейс с Selenium WebDriver. Я хочу протестировать элемент <h1>, но .getText () не получает никакого содержимого.

Сервер и локальная веб-страница работают, больше нет элементов h1.

Это настройка:

const assert = require("assert");
const { Builder, By } = require("selenium-webdriver");

const Firefox = require('selenium-webdriver/firefox');
const firefoxOptions = new Firefox.Options().headless();

const URL = "http://192.168.1.99:3000/#!/";

let browser;

У меня есть до всех тестов, которые я хочу подключить и построить сайт.

    beforeEach(async function() {
        this.timeout(20000);

        browser = await new Builder(Firefox)
            .forBrowser('firefox')
            .setFirefoxOptions(firefoxOptions)
            .build();

        await browser.get(URL);

    });

А затем тест

    // Test case
    it("Test index", async () => {

        const element = await browser.findElement(By.css("h1"));
        const text = await element.getText();

        await assert.equal(text, "About me");

    });

Я получаю результат

  0 passing (5s)
  1 failing

  1) Test Me-app
       Test index:

      AssertionError [ERR_ASSERTION]: '' == 'About me'
      + expected - actual

      +About me

      at Context.it (test/src/MochaTest.js:67:22)
      at process._tickCallback (internal/process/next_tick.js:68:7)


Я запускаю все это с Мокко , делая npm test

console.log из text показывает, что он пуст. Selenium docs говорит:

this.getText () → Обещание Получите видимый (т.е. не скрытый CSS) innerText этого элемента, включая подэлементы, без каких-либо начальных или конечных пробелов.

Но как мне тогда получить текст?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...