在量角器中处理非角度页面

时间:2015-08-31 06:03:56

标签: javascript angularjs protractor end-to-end

我有一个应用程序,它导航到非Angular应用程序进行登录。基本登录是这样的。首先,加载角度应用程序,然后单击页面上的按钮。然后导航到非角度应用程序(使用IdentityServer实现的STS)并登录,然后导航回角度应用程序。

这是我为处理此问题而编写的代码。

)

但是这会抛出'在页面上找不到Angular'错误,有时会发现XPath引用的链接随机元素找不到错误。登录的基本流程就像

  

Angular App - > Non-Angualr App - > Angular App

我该如何处理这种登录?

2 个答案:

答案 0 :(得分:1)

每当您转换到Non-Angular App时,请使用:

browser.ignoreSynchronization = true 

beforeAll()beforeEach()函数中的代码,以便量角器知道它不应该在页面上检查Angular并且不会等待Angular安定下来。如果仍然无法解决您的问题,请尝试在Angular App中提供browser.ignoreSynchronization = false以及上述行。以及在执行操作之前等待元素出现的最佳实践,以避免与元素存在相关的错误。希望这会有所帮助。

答案 1 :(得分:1)

在我的protractor_example github repo中,我在页面级别使用browser.ignoreSynchronization = true;即。在我的页面对象的顶部(它看起来像你正在使用。这对我来说最有意义,也应该适用于你的情况,因为我的例子也包含a non-angular login page(看起来很常见) )。

此外,使用browser.ignoreSynchronization = true时,您不想使用browser.driver。仅使用browser