【发布时间】:2023-01-04 12:46:26
【问题描述】:
因此,我正在自动化测试 Web 应用程序的命令中心样式(本质上是万无一失的 SQL 语句,前端有大量字段验证)。 在 20 个类别下有 125 个这样的语句,单击它们会展开/折叠以显示/隐藏其子命令。 有没有一种方法可以使用黄瓜传递的参数动态创建 XPath 选择器,而不是指定 125 个 getter 函数(以及黄瓜传递的参数上的 125 个大小写开关)?例如:
When(/^I select (.*) menu item$/, async (menuItem) => {
switch (menuItem) {
case "Activate User":
await PageObject.element1.click();
break;
case "Change Email Address":
await PageObject.element2.click();
break;
case "Change User Password":
await PageObject.element3.click();
break;
//ETC 122 more times
单行查找并单击 [li] 元素会容易得多:
When(/^I select (.*) menu item$/, async (menuItem) => {
await browser.$('//li[contains(text(),\'' + menuItem + '\')]').click();
}
但这不起作用。任何人都知道为什么或对如何让它工作有任何建议?谢谢,谢普
【问题讨论】:
标签: javascript node.js ui-automation webdriver-io wdio