Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何使用量角器创建助手,以便在测试运行之前登录?_Angularjs_Protractor - Fatal编程技术网

Angularjs 如何使用量角器创建助手,以便在测试运行之前登录?

Angularjs 如何使用量角器创建助手,以便在测试运行之前登录?,angularjs,protractor,Angularjs,Protractor,在我的测试中,我有 var LoginHelper = require('../helpers/functional/login.js') describe('Passport Navigation', function() { beforeAll(function() { return LoginHelper() }) it('should properly load the All Skills view', function() { browser.get

在我的测试中,我有

var LoginHelper = require('../helpers/functional/login.js')

describe('Passport Navigation', function() {

  beforeAll(function() {
    return LoginHelper()
  })

  it('should properly load the All Skills view', function() {
    browser.get('https://example.com/ng-app/profile')
    element(by.model('myModel')).sendKeys('test stuff')
    element(by.css('btn')).click()

    expect(myModel()).toEqual('more')
  })
})
我的助手是:

module.exports = function() {
  browser.ignoreSynchronization = false
  browser.driver.get('https://example.com/ng-app')


  browser.driver.findElement(by.id('username')).sendKeys("myusername");
  browser.driver.findElement(by.id('password')).sendKeys("mypassword");
  return browser.driver.findElement(by.tagName('input')).click()

}
问题是我的站点登录不是一个有角度的站点,所发生的事情是(据我所知),它加载登录页面,输入用户名/密码,然后退出并出错

1) Passport Navigation should properly load the All Skills view
  Message:
    Failed: Angular could not be found on the page https://example.com/ng-app/profile.If this is not an Angular application, you may need to turn off waiting fo
r Angular.
                              Please see
                              https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
  Stack:
    Error: Angular could not be found on the page https://example.com/ng-app/profile.If this is not an Angular application, you may need to turn off waiting for
 Angular.

browser.ignoreSynchronization=false,指示量角器等待角度。如果站点登录不是角度登录,则应将其设置为true

browser.ignoreSynchronization=true

来自量角器站点的示例

browser.ignoreSynchronization = true;
browser.get('/non-angular-login-page.html');

element(by.id('username')).sendKeys('Jane');
element(by.id('password')).sendKeys('1234');
element(by.id('clickme')).click();

browser.ignoreSynchronization = false;
browser.get('/page-containing-angular.html');

browser.ignoreSynchronization=false,指示量角器等待角度。如果站点登录不是角度登录,则应将其设置为true

browser.ignoreSynchronization=true

来自量角器站点的示例

browser.ignoreSynchronization = true;
browser.get('/non-angular-login-page.html');

element(by.id('username')).sendKeys('Jane');
element(by.id('password')).sendKeys('1234');
element(by.id('clickme')).click();

browser.ignoreSynchronization = false;
browser.get('/page-containing-angular.html');

添加到progrator.conf:。。。onPrepare:{browser.driver.get(url);browser.driver.findElement(by.id('username')).sendKeys(…);…一些等待登录成功添加到graphetor.conf:…onPrepare:{browser.driver.get(url);browser.driver.findElement(by.id('username')).sendKeys(…);…一些等待登录成功