我的公司开始使用 Angular 构建我们所有的网站,在使用 Java Webdriver 来导航这些新页面之后,我决定尝试使用 Protractor。
登录页面不是 Angular 的,但我想我是通过设置 ignoreSynchronizatyion = true
来解决的。
我想做的只是在登录后确认我们网站主页的标题是否存在,但主页是 Angular 的。因此,我尝试了设置 ignoreSynchronizatyion = false
的几种不同变体,但显然我做错了。
describe('angular web navigation', function() {
it('should login and confirm title', function() {
browser.ignoreSynchronization = true;
browser.get('https://website.com/login')
browser.driver.findElement(by.name('username')).sendKeys("123456");
browser.driver.findElement(by.name('submit')).click;
browser.ignoreSynchronization = false;
expect(element(by.model('title')).getText()).
toEqual('Expected Title');
});
});
有关登录非 Angular 页面然后确认 Angular 元素是否存在的任何提示?
最佳答案
首先需要调用click()
方法,替换为:
browser.driver.findElement(by.name('submit')).click;
与:
browser.driver.findElement(by.name('submit')).click();
然后,如果通过这种方式关闭同步不起作用,请在 click()
promise 解析步骤中执行以下操作:
browser.driver.findElement(by.name('submit')).click().then(function () {
browser.ignoreSynchronization = false;
});
关于javascript - 如何从非 Angular 登录页面过渡到 Angular 主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43812320/