摆脱Jenkins

时间:2017-04-13 17:41:35

标签: typescript jenkins protractor

我有一大堆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()真的是我唯一的选择吗?

1 个答案:

答案 0 :(得分:0)

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