【发布时间】:2017-09-18 10:23:24
【问题描述】:
在我的 Nightwatch 测试中,我有一个 before each 运行并从 Facebook 中删除一个应用程序。如果应用程序不存在,我只想停止之前的测试。
.waitForElementPresent('#root div.touchable a', 2000, false, function (result) {
if (result.value === false) {
browser.saveScreenshot('./test/e2e/img/element-not-there.png')
browser.end()
}
})
.doSomethingIfElementIsThere() // not real ;)
即使设置了false 参数,这似乎也不起作用。我收到此错误:
ERROR: Unable to locate element: "#root div.touchable a" using: css selector
at Object.before (/Users/user/projects/project/test/e2e/specs/testy-mc-test-face.js:30:8)
✖ Timed out while waiting for element <#root div.touchable a> to be present for 2500 milliseconds. - expected "found" but got: "not found"
at Object.before (/Users/user/projects/project/test/e2e/specs/testy-mc-test-face.js:30:8)
只是想知道如何检查某些内容而不是错误。或者如果元素存在则继续断言?
感谢水桶
【问题讨论】:
-
元素是否缺少测试的失败条件?优雅地处理这个问题确实应该是您正在测试的代码的工作,以便测试可以与它交互,而不是测试有选择地不运行测试的责任。
标签: javascript vue.js nightwatch.js e2e-testing