Webdriver.io 比较运算符

Webdriver.io Comparator Operator

我试图确保网页上出现的元素数量大于零。我不知道有什么方法可以断言我需要的元素已正确填充。下面是我到目前为止的内容,但它在最后一行出错(即 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(正式版)(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'

查看错误: [Function: fieldsButtonList] == 'less than zero' 这是因为函数引用试图与值 less than zero.

进行比较

问题是您没有在 assert.equal(fieldsButtonList, "less than zero");.

行调用函数

您仍在创建对它的引用。

请将代码行替换为: assert.equal(fieldsButtonList(), "less than zero");

让我们知道这行得通。

谢谢, 纳文