Webdriver.io Компаратор Оператор - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь убедиться, что количество элементов, отображаемых на веб-странице, больше нуля. Я не знаю, как утверждать, что нужные мне элементы правильно заполнены. Ниже приведено то, что у меня есть, но оно содержит ошибку в последней строке (т. Е. assert.equal(fieldsButtonList, "less than zero");

const assert = require("assert");
import header from "../pages/header.page";

describe("View Report", () => {
  it("Only data fields that were selected, will display in the result’s column", () => {
    browser.url(""); // Navigate to the FDA app
    browser.maximizeWindow(); // ensure that the window is maximized so that everything can be viewed
    header.searchAndVisualizeHeader.click(); // Select the "Search & Visualize" tab
    const searchTitle = $("h1").getText();
    assert(searchTitle, "Show");
  });

  it("There should be buttons", () => {
    assert.equal(browser.$$(".data-source").length, 4);
    const ndcButton = $(
      '//*[@id="data-sidebar-item-0"]/div/div/div/div[2]/button'
    );
    ndcButton.click();
  });

  it("There should be fields", () => {
    const fieldsButton = browser.$('//*[@id="data-sidebar-item-1-heading"]');
    fieldsButton.click();
    const fieldsButtonList = () => {
      if (browser.$$(".data-field").length > 0) {
        return "greater than zero";
      } else {
        return "less than zero";
      }
    };
    //assert.equal(fieldsButtonList, "less than zero");
  });
});

Я получаю следующую ошибку (работает в последней версии Chrome 77.0.3865.120 (ОфициальноBuild) (64-разрядная версия)):

[0-0] 2019-10-18T13:15:58.821Z INFO webdriver: COMMAND findElement("xpath", "//*[@id="data-sidebar-item-1-heading"]")
[0-0] 2019-10-18T13:15:58.821Z INFO webdriver: [POST] http://127.0.0.1:4444/session/d3813ab85ffd49ae3f3ba4c4b2df033f/element
[0-0] 2019-10-18T13:15:58.821Z INFO webdriver: DATA { using: 'xpath',
  value: '//*[@id="data-sidebar-item-1-heading"]' }
[0-0] 2019-10-18T13:15:58.842Z INFO webdriver: RESULT { 'element-6066-11e4-a52e-4f735466cecf': '885111a2-8a1e-47df-ba60-ce764f56e58e' }
[0-0] 2019-10-18T13:15:58.846Z INFO webdriver: COMMAND elementClick("885111a2-8a1e-47df-ba60-ce764f56e58e")
[0-0] 2019-10-18T13:15:58.846Z INFO webdriver: [POST] http://127.0.0.1:4444/session/d3813ab85ffd49ae3f3ba4c4b2df033f/element/885111a2-8a1e-47df-ba60-ce764f56e58e/click
[0-0] AssertionError [ERR_ASSERTION] in "View Report Fields should appear"
[Function: fieldsButtonList] == 'less than zero'

1 Ответ

1 голос
/ 18 октября 2019

См. Ошибку: [Function: fieldsButtonList] == 'less than zero', потому что ссылка на функцию пытается сравнить со значением less than zero.

Проблема в том, что вы не вызываете функцию в строке assert.equal(fieldsButtonList, "less than zero");.

Вы все еще создаете ссылку на него.

Пожалуйста, замените строку кода следующим образом: assert.equal(fieldsButtonList(), "less than zero");

Дайте нам знать, что это работает.

Спасибо,Нэвин

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