使用量角器处理基本身份验证和证书

时间:2014-03-31 15:30:51

标签: angularjs selenium selenium-webdriver phantomjs protractor

我需要使用Protractor为我们的AngularJS应用程序编写一些自动化测试。目前我面临两个问题:

  1. 在页面完全呈现之前,会对服务进行一些需要用户名和密码的调用。这些是通过基本身份验证弹出提示的。因为所有尝试获取窗口句柄失败,我都无法触及此弹出窗口。 (或更明确:永远不会执行承诺的回调)

  2. 对于另一种情况,我正在获得"选择证书"弹出窗口,我也无法接触到。

  3. 对于这两种情况,我现在都有一个问题,即我是否能够以某种方式捕获它们,或者只是通过WebDriver通过自动化测试无法访问它们?目前我正在尝试使用Chrome和PhantomJS测试应用程序,但我更愿意让它们与PhantomJS一起运行,以便更轻松地集成到我们的构建环境中。

2 个答案:

答案 0 :(得分:1)

可以使用Chrome自动选择证书。只需查看文档: http://www.chromium.org/administrators/policy-list-3#AutoSelectCertificateForUrls

答案 1 :(得分:0)

我遇到了问题,当出现这样的安全弹出窗口时,我无法使用WebDriver处理它们。在这种情况下,PhantomJS当然更糟。

这里有2个或3个选项:

  • 在不关心安全性的环境中进行部署,使用WebDriver测试应用程序,并在类似prod的环境中手动测试安全性。
  • 使用sikuli进行测试,对测试中的应用程序没有任何依从性,我测试了这种方式,结合Jenkins Jacoco等,一旦你在jar上建立了一个DSL,它就非常强大了(不要#39) ; t使用GUI工具)
  • 第三种方式是结合sikuli和WebDriver,让sikuli只在需要时才能完成工作,但我没有遵循这种方式,因为混合方法有点难看。