角度和非角度的量角器

时间:2016-06-12 13:59:46

标签: angularjs protractor

我是Protractor的新手。我正在使用Protractor来测试Angular和Non-Angular应用程序。我的测试顺序是

  1. 测试非角度登录pange
  2. 登录后,测试Angular主页。
  3. 我尝试了下面的脚本,但它给我一个错误。

    Config.js

    exports.config = {
    
      seleniumAddress: 'http://localhost:4444/wd/hub',
    
    capabilities: {
    
        'browserName': 'firefox'
      },
      specs: ['spec1.js'],
      jasmineNodeOpts: {
        showColors: true
      }
    };
    

    Spec1.js

    describe('angularjs homepage', function() {
      it('Availity', function() {
    
        browser.driver.get('https://qa-apps.availity.com/availity/web/public.elegant.login');
    
        browser.driver.findElement(by.name('userId')).sendKeys('xxxx');
        browser.driver.findElement(by.name('password')).sendKeys('yyyy');
    
        browser.driver.findElement(by.id('loginFormSubmit')).click();
    
    browser.driver.sleep(1);
    browser.waitForAngular();
    
    element(by.className('navbar-brand-availity')).click();
    
    
      });
    });
    

    对上述问题的任何帮助都非常感谢。

2 个答案:

答案 0 :(得分:2)

当您使用非角度部分时必须关闭同步,然后在登录后再次打开同步。例如:

describe('angularjs homepage', function() {
  beforeEach(function () {
    browser.ignoreSynchronization = true;

    browser.driver.get('https://qa-apps.availity.com/availity/web/public.elegant.login');

    browser.driver.findElement(by.name('userId')).sendKeys('xxxx');
    browser.driver.findElement(by.name('password')).sendKeys('yyyy');

    browser.driver.findElement(by.id('loginFormSubmit')).click();
    browser.driver.sleep(1);

    browser.ignoreSynchronization = false;
    browser.waitForAngular();
  });

  it('Availity', function() {
      element(by.className('navbar-brand-availity')).click();
  });
});

答案 1 :(得分:0)

您可以使用onPrepare功能登录量角器配置文件(config.js),例如

exports.config = {
    onPrepare: function () {

        browser.baseUrl = browser.params.baseUrl;
        browser.driver.get(browser.baseUrl + 'Account/Login');

        browser.driver.findElement(by.id('UserName')).sendKeys('username');
        browser.driver.findElement(by.id('Password')).sendKeys('PASSWORD');
        browser.driver.findElement(by.id('Login')).sendKeys(protractor.Key.ENTER);

        return browser.driver.wait(function () {
            return browser.driver.getCurrentUrl().then(function (url) {
                return /home/.test(url);
            });
        }, 90000);
    },
};