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