0
ロードバーを持つログインページをテストしています。 私のシナリオでは、ユーザーが「ログイン」ボタンをクリックしたときにロードバーが表示されるかどうかをテストする必要があります。 テストフローのために以下の関数を作成しましたが、常にタイムアウトのエラーで失敗します。分度器:ロードバーをテストする方法
isLoadBarDisplayed: function() {
var thePage = this.page;
thePage.userNameField.sendKeys(randVal);
thePage.passwordField.sendKeys(randVal);
browser.ignoreSynchronization = true;
thePage.LoginBtn.submit()
var EC = protractor.ExpectedConditions;
browser.wait(EC.visibilityOf(thePage.loadBar), 5000, false);
browser.ignoreSynchronization = false;
},
別のコードでは、常にfalseをもたらし:
.......
browser.ignoreSynchronization = true;
return thePage.LoginBtn.click().then(function(){
return thePage.loadBar.isDisplayed()
})
browser.ignoreSynchronization = false;
}
すべてのアイデアは大歓迎です! 事前に感謝します
あなたの 'loadBar'ロケータは正しいですか? – alecxe
私は "elementor"で短い調査をしました: これはロードバーのフルタグです: です。 要素(by.css( '[ng-show = "loading"]')) 資格情報が読み込まれ、ロードバーが画面に表示されると、属性は消えていますが、isDisplayed()コマンドはまだ偽の値を返します 何が間違っていますか? – Nadin
ええ、間違いなく同期をオフにする必要があるように聞こえますが、ブラウザが早期にオフにならないように 'browser.ignoreSynchronization = false;'を 'afterEach()'に移動できますか? – alecxe