私はprotractor.promise.all()
を使用できることがわかります。 protractor.promise.when()
はありますか?そして、それについてもっと知り、それを使う方法はどこで知ることができますか?protractor.promise.when()メソッドはありますか?
私の問題は、すべてのgetText()
の約束事を解決し、失敗したものを特定し、失敗したものに対しては空白を提供する必要があることです。例えば
:
function getValues() {
let pFirstName = $('#firstname').getText();
let pLastName = $('#lastname').getText();
let pSSN = $('#ssn').getText();
return protractor.promise.when([pFirstName, pLastName, pSSN])
.then(function(values) {
return {
"first": values[0],
"last": values[1],
"ssn": values[2] // This value may or may not be on the DOM, how do I check it and provide an alternate value?
};
});
}
UPDATE:私は私の研究を続けていたよう
、私はこれはwebdriverを問題の詳細です参照してください。そして、おそらく私はブルーバードを引く必要があります。よく分かりません。
以下の質問に答えるには、「どのようなものが失敗するのはどういう意味ですか? $('#ssn')
ElementFinderが実際に#ssn
と一致する要素を見つけられないとします。 getText()
メソッドは約束を拒否し、見つからない要素のエラーを返します。そして、そう、私は次の2つの状況になります。
<span id="firstname">Joe</span>
<span id="lastname">Smith</span>
<span id="ssn">123-45-6789</span>
getValues().then(res => console.log(res));
は、ユーザーがSSNを見ることが想定されていない次のような状況では、{"first": "Joe","last":"Smith","ssn":"123-45-6789"}
を返し、角度doesnのでしょう「tが偶数番目の要素を作成し、我々は持っていることがあります。
<span id="firstname">Joe</span>
<span id="lastname">Smith</span>
私はリターンがなければならないことを期待する
getValues().then(res => console.log());
:より良い答えは一緒に来ない限り{"first":"Joe","last":"Smith"}
または{"first":"Joe","last":"Smith","ssn":""}
「どのものが失敗する」とはどういう意味ですか? –