【发布时间】:2015-10-19 15:24:06
【问题描述】:
在我正在测试的页面中,可能会显示两个按钮:BASIC 或 ADVANCED。
我希望能够判断“高级”按钮是否正在显示——如果是,请单击它。
如果显示 BASIC 按钮,我什么也不想做,继续我的测试。
我尝试过的所有 Nightwatchjs 选项都会生成失败消息。例如,如果我“waitforpresent”或“waitforvisible”并且按钮不存在,它会生成错误/失败。我只想知道存在哪个按钮,以便我可以在我的代码中做出决定。
这是我尝试过的:
try {
browser.isVisible('#advanced-search', function(result) {console.log(result.state); })
} catch (myError)
{
console.log(myError);
}
想法?
【问题讨论】:
-
不应该是在
Nightwatchjs之上的一个简单的if/else逻辑来确定元素的可见性吗?您通常不希望测试寻找一些可能不存在的元素(至少为了性能)。在这种情况下,我会查看该元素是否存在,否则(可能尝试/捕获)也可以 -
我已经尝试过这种构造......但是一旦发出 Nightwatchjs “等待”或“可见”语句,就会引发错误。
-
您尝试过的一些代码怎么样?可以分享一下吗?
-
这里是一个例子:try { browser.isVisible('#advanced-search', function(result) { console.log(result.state); }) } catch (myError) { console.日志(我的错误); }
标签: selenium automated-tests nightwatch.js