我是 Protractor 新手。我正在使用 Protractor 来测试 Angular 和 Non-Angular 应用程序。我的测试顺序是
- 测试非 Angular 登录面板
- 登录后,测试 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();
});
});
非常感谢您对上述问题的任何帮助。
最佳答案
在处理非 Angular 部分时,您必须关闭同步,然后在登录后再次打开同步。例如:
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();
});
});
关于angularjs - 有 Angular 和无 Angular 的 Protractor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37775091/