E2Eテストでの最初の実行。私は他の人の分度器テストを消化しようとしています。
問題:browser.driver.sleep
がたくさんあり、これは壊れやすいようです。
目標:browser.driver.sleep
を使用しない
質問:browser.driver.sleep
へのより良いアプローチは何ですか?約束のような壊れにくいもの、または私が笑について知らない何か?
var config = require('../../protractor.conf.js').config;
describe('this Homepage Body Tests', function(){
browser.driver.get(config.homepageUrl);
it("should open find a clinic page", function(){
// page loads :: want to fix this random wait interval
browser.driver.sleep(2000);
browser.ignoreSynchronization = true;
var string = 'clinic';
var main = '.search-large-text';
var link = element(by.cssContainingText('.submenu li a', string));
link.click().then(function() {
// page reloads :: want to fix this random wait interval
browser.driver.sleep(3000);
var title = element(by.cssContainingText(main, string));
expect(title.getText()).toBe(string);
});
});
});
ignoreSynchronization
がオンになっているため、waitForAngular()
を使用できません。これは、角度サイトテストの場合の解決策になります。
ここでのより良い解決策は、ページ読み込みタイムアウトを設定することです:
browser.manage().timeouts().pageLoadTimeout(10000); // 10 seconds
明示的な待機とタイムアウトに関するこれらの関連スレッドも参照してください。