我有一大堆browser.sleep()
来电,我讨厌在我的测试代码中。所以我用量角器的预期条件实现了browser.wait()
调用。
问题是我在Jenkins中得到了不一致的结果,我没有使用browser.sleep()
。测试将全部通过Jenkins,几次,然后其中一个将失败,出现以下错误。
Failed: javascript error: document unloaded while waiting for result
我讨厌在我的代码中进行browser.sleep()
调用,但是如果我在测试运行中无法获得Jenkins的一致结果,则无需删除它们。
我遇到问题的测试代码在这里:
_.forEach(params.apps, (page) => {
it('Login Navigating Directly to Each Page ' + ' ' + page.url, () => {
browser.get(params.baseURL + 'auth/login?next=' + page.url)
loginPage.login(params.users.superUser.email, params.users.superUser.password).then(() => {
if (page.url === 'members' || page.url === 'rx-claims' || page.url === 'medical-claims') {
browser.wait(EC.visibilityOf(element(by.css('div.table-explorer div.header-bar'))),
10000,
'Could not find the page title. The page you were looking for is: ' + page.url)
} else {
browser.wait(EC.visibilityOf(element(by.css('div.app-explanation'))),
10000,
'Could not find the page title. The page you were looking for is: ' + page.url)
}
browser.getCurrentUrl().then((current) => {
expect(current).toBe(params.baseURL + page.url)
})
})
})
})

browser.sleep()
真的是我唯一的选择吗?
答案 0 :(得分:0)
经过大量搜索,并根据EC
的不同方面进行调整后,我决定简单地返回browser.sleep()
,因为这为此测试提供了最一致的结果。我对此并不满意,但它确实有效。