javascript - 如何从非 Angular 登录页面过渡到 Angular 主页

标签 javascript protractor

我的公司开始使用 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/

相关文章:

angular - 使用标签在 Protractor 中只执行一个特征文件

javascript - Protractor :使用 Promise

javascript - Protractor 通过名称标签获取元素

javascript - 如何在javascript中设置文件路径?

javascript - 让链接执行 2 个操作

javascript - 如何从当前页面动态删除样式表

javascript - 在 gmail api 中获取主题行 - javascript

javascript - 2个div在qtip1中彼此相邻

javascript - 无法使用 Protractor 单击我的 angularjs 应用程序的 Microsoft 帐户的登录按钮

javascript - 使用 Protractor 选择元素内的所有元素