量角器异步/等待非角度

问题描述 投票:0回答:2

我正在尝试将我对非角度网站的测试转换为异步/等待控制流程。有些测试没问题,但有些测试有问题。我试图登录并等待元素可点击,我尝试通常的构造加载元素:

        browser.wait(EC.urlIs(browser.baseUrl + url.home), 7000, 'url is not as expected');

元素相同:

        browser.wait(EC.visibilityOf(dashpage.creds), 7000, 'element card holder is not visible');

但是这里的测试失败了。

我也尝试过如下构造:

        expect(await browser.getCurrentUrl()).toContain(url.home);

但这种期望总是失败。

这是代码示例:

beforeAll(async function () {
    browser.ignoreSynchronization = true;
    await browser.get(browser.baseUrl);

});
it('Log in as a new user and buy credits from member profile', async function () {
    email = hel.randomEmail();
    console.log(email);
    await homeact.fill_signup_form(par.male_name, email, par.password, par.canada, 0);
    await homeact.signup_submit();
    browser.wait(EC.urlIs(browser.baseUrl + url.home), 7000, 'url is not as expected');
    //expect(await browser.getCurrentUrl()).toContain(url.home);
    await dashact.check_creds(0);
    await dashact.to_cred_popup();
    //check closing pop-up:
    await buycract.close_popup();

请帮我申请等条件代码。提前致谢。

selenium-webdriver async-await protractor
2个回答
0
投票
await browser.wait(EC.urlIs(browser.baseUrl + url.home), 7000, 'url is not as expected');

这应该工作:

expect(await browser.getCurrentUrl()).toContain(url.home);

我已将常规e2e更改为异步,并且遇到了简单的页面对象,使每个函数都异步并在每次调用此函数时等待。它有效但很复杂; PO是一场噩梦。


0
投票

尝试browser.waitForAngularEnabled(false);它将禁用等待,并最终解决您的问题。这对于角度应用来说是不好的做法,应该避免。

© www.soinside.com 2019 - 2024. All rights reserved.