等待使用量角器的非角度应用程序的页面加载

时间:2016-07-27 13:26:08

标签: node.js jasmine protractor

我是新的量角器和测试Non-Angular登录页面,点击登录页面上的登录按钮,会出现一个新页面,我需要点击计划链接。但点击登录按钮应用程序需要大约50秒。我想要等待量程器,直到计划链接出现。我使用browser.wait(),browser.driver.implicitltyWait()但没有成功。我只能使用browser.sleep()点击计划链接。 请帮我解决这个问题。

3 个答案:

答案 0 :(得分:0)

您需要等待执行登录操作后加载的页面中的任何WebElement。

  

var EC = protractor.ExpectedConditions;

     

browser.wait(EC.visibilityOf(元件(by.id( “someId”))),60000)

它将等待元素并在等待1分钟后抛出异常

答案 1 :(得分:0)

所以我从你的问题中理解的是你有一个非角度的登录页面并点击登录按钮带你到另一个页面(这是角度还是非角度?),大约需要50秒加载并包含一个链接(规划)。对??点击该链接将转到您的角度主页。

现在你面临的问题是量角器没有等待包含要加载的计划链接的页面50秒。

请尝试这个,让我知道结果..

this.clickLoginBtn = function () {
    browser.driver.findElement(loginBtn).click();
    return browser.wait(function () {
        return browser.driver.isElementPresent(planningLink);
    }, 50000);
};

我使用了browser.driver.findElement,因为我们在非角度页面上。

答案 2 :(得分:0)

wrote a blog post about this,并且工作examples on github,特别是在测试非Angular应用时。它使用Expected ConditionsPage Objects

如果您还没有使用Page Objects,那么您可以执行以下操作:

var EC = protractor.ExpectedConditions;
// Waits for the element with id 'loginBtn' to be clickable.
browser.wait(EC.elementToBeClickable($('#loginBtn')), 50000);