0
私の分度器テストの各手順の前に余分なコードを追加します。そこで、私は小さなプラグインを作成し、 "waitForPromise"のようなフックの1つを使用することにしました。分度器プラグインで要素を検索
https://github.com/angular/protractor/blob/5.1.2/lib/plugins.ts#L163
私は、任意の分度器またはブラウザのインスタンスを取得するために問題を抱えています。コード例を示します。
var protractor = require('protractor');
var EC = protractor.ExpectedConditions;
module.exports = {
waitForPromise: function(){
//this add 3 second after each promise(work fine)
browser.sleep(3000);
//this doesn't work. looks like it goes to endless promise execution.
return browser.wait(function() {
return $('body').getAttribute('class').then(function (attr) {
console.log(attr);
});
},3000);
}
};
UPDATE: 私は研究によると、私の例を更新しました。
更新:このコードが機能しない理由が分かっている人は、躊躇しないでください。
waitForPromise: function(){
return $('body').isPresent().then(function (val) {
console.log('present',val);
});
}
"waitForPromise" の溶液を作業に興味がある人ならば、あなたはthisを確認することができます。
あなたは、次のいずれかの方法により、分度器でロケータを使用することができます
私は非常に多くの方法で要素を選択しようとしました。どちらの方法も機能しません。テストは何とか約束を解決できないように、そのステップでハングアップします。私はスレッドを更新しました。 – John51
Node.jsのどのバージョンを使用していますか? –
ノードのバージョン:v6.11.0 – John51