angularjs - 在非 Angular 页面上使用 Protractor 测试登录

标签 angularjs selenium-webdriver jasmine protractor angularjs-e2e

我正在尝试使用 Protractor 进行 e2e 测试,但首先我需要登录非 Angular 页面。我尝试直接使用 webDriver,如所示 here但失败了。

我的 e2e 测试:

describe('angularjs homepage', function() {

  it('should prompt the login page', function() {
    browser.get('/');
    expect(browser.driver.find(By.id('user_password')));
  });

});

我的日志:

Running "protractor:all" (protractor) task
Using the selenium server at http://localhost:4444/wd/hub
F

Failures:

  1) angularjs homepage should prompt the login page
   Message:
     TypeError: Object [object Object] has no method 'find'

你知道解决办法吗?

最佳答案

您需要使用

browser.driver.get 

而不是非 Angular 页面的 browser.get。另外,您需要设置

browser.driver.ignoreSynchronization = true in the beforeEach() function

我添加了一个用于非 Angular 页面的页面。你可以引用同样的: https://github.com/sakshisingla/Protractor-Non-Angular-Tests/wiki/Creating-test-scripts-using-Protractor-for-non-angular-application

关于angularjs - 在非 Angular 页面上使用 Protractor 测试登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26536933/

相关文章:

没有服务器的 Selenium Golang 绑定(bind)

javascript - 使用 moment.js 进行 Jasmine 约会模拟

javascript - Jasmine 预期 spy myLinks 已被调用错误

javascript - Angular.js 支持的 Chrome 版本

angularjs - Ionic + AngularJs + 基于 token 的身份验证

java - 无法使用 selenium webdriver 版本 3.0.0.beta3 单击链接

java - 如何使用 Selenium 和 Java 在 https ://www. phptravels.net/website 中提取 HTML5 约束验证的文本?

javascript - AngularJS/Rails $http.post 数据字段名称作为变量

javascript - 如何在 Angular 构造函数之外提供服务?

javascript - 如何使用 Jasmine 测试自定义事件(使用 Backbone)