ジェネレーターを使用して、テストnode 0.11.x
の作成を少し楽にしようとしています。Selenium
私の問題は、それらを適切に利用する方法がわからないことです。構文の問題であるに違いないとほぼ100%確信しています。
公式selenium-webdriver
モジュール (ver 2.37.0) とco
(ver 2.1.0) を使用してジェネレーターを作成しています。
ジェネレーター/yield マジックを使用しない通常のテストは次のとおりです。
driver.isElementPresent(wd.By.css('.form-login')).then(function (isPresent) {
console.log(isPresent); // true
});
以下は、yield/generator マジックで同じ結果を得ようとする 2 つの試みです。
var isPresent = yield browser.isElementPresent(wd.By.css('.form-login'));
console.log(isPresent); // undefined
var isPresent = yield browser.isElementPresent(wd.By.css('.form-login')).then(function (isPresent) {
console.log(isPresent); // true
});
console.log(isPresent); // undefined
ご覧のとおり、プロミスのコールバック内を除いて、isPresent
常にです。認めざるを得ませんが、私はジェネレーターにもプロミスにもあまり詳しくないので、非常に明白な何かを見落としている可能性があります。undefined
then()