最近のテスト最初にログインし、角度のないページ(https://www.qa.dealertrack.com/default1.aspx) で何らかのアクションを実行し、角度のページに切り替えてテストを終了する必要があります。しかし、現場に入る前に、分度器はエラーNoSuchElementErrorをスロー角度のないページで分度器を使用する
describe('Sample Test - Log In', function() {
var loginPage = require('../pages/LogInPage.js');
/**
* Disable waiting for AngularJS for none Angular page
*/
beforeEach(function() {
isAngularSite(false);
});
it('logging in', function() {
loginPage.logIn('xxx', 'xxx');
})
})
:私のテストがどのように見える
var LogInPage = function() {
this.loginUrl = 'https://www.qa.dealertrack.com/default1.aspx';
this.id = browser.driver.findElement(by.name('username'));
this.password = browser.driver.findElement(by.name('password'));
this.loginButton = browser.driver.findElement(by.name('login'));
this.logIn = function(id, password) {
// maximize window
driver.manage().window().maximize();
// log in
driver.get('https://www.qa.dealertrack.com/default1.aspx');
this.id.sendKeys(id);
this.password.sendKeys(password);
this.loginButton.click();
}
};
:私は同じよう
global.driver = browser.driver;
マイページオブジェクトが見えていconfには :そのような要素はありません:要素を見つけることができません:{'方法': '名前'、 'セレクタ': 'ユーザー名'}
しかし、私はすべての要素変数との関連行をコメントアウトするとき、唯一それが働いた
driver.get(this/loginUrl);
を残しました。なぜ、browser.driver.getは動作しますが、browser.driver.findElement
は動作しませんか?
これは私の最初の質問Stackoverflowです。みんなありがとう!
チェックのようなものSHOLD
を設定する必要があり、この: https://github.com/angular/protractor/issues/51 そして、もしノンアングルアプリケーションで分度器を使用しています: browser.ignoreSynchronization = true; – Nick