我是Protractor的新手。我正在使用Protractor来测试Angular和Non-Angular应用程序。我的测试顺序是
我尝试了下面的脚本,但它给我一个错误。
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();
});
});
对上述问题的任何帮助都非常感谢。
答案 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);
},
};