私はこのコードを持っていますが正常に動作しますが、ループ内で実行しての要素数をカウントして各リンクをテストするようにします。ループ内で実行されるテストを作成する
module.exports = {
'Unitel Fitness - click' : function (browser) {
browser
.url('http://m.unitel.ao/fit/')
.execute('scrollIntoView(alignToBottom)')
.waitForElementVisible('.socal>span:nth-child(1) a', 6000)
.moveToElement('.socal>span:nth-child(1) a', 3, 3)
.pause(6000)
.click(".socal>span:nth-child(1) a")
.pause(6000)
.keys(['\uE006'])
.window_handles(function (result) {
var handle = result.value[1];
browser.switchWindow(handle);
browser.pause(1000);
//browser.assert.urlContains('facebook');
browser.closeWindow();
})
.end();
}
};
私はこのコードをアップグレードしましたが、それでも私が欲しいものを実行していません。 結果は次のとおりです。(すでに時間を割いてみました)
リンク数:4実行前にval:実行前にval:実行前にval:実行前にval:実行中です。要素を待つ間にタイムアウトしました< .socal> span:nth-child( "+ i +")a>を8000ミリ秒間表示します。 - 「目に見える」と予想しかしだ:ループコレクションを取得し、.length
を使用することができますなぜ
module.exports = {
'Social links' : function (browser) {
browser
.url('http://m.unitel.ao/fit/')
.execute(function(){
return document.querySelectorAll(".socal>span").length;
},
function(links) {
total_links = links.value;
console.log("Number of links: " + total_links);
for (var i = 1; i <= total_links; i++) {
console.log("i val before execute: " + i);
browser.execute('scrollIntoView(alignToBottom)');
//browser.waitForElementVisible('.socal>span:nth-child("+ i +") a', 8000);
//call back function
browser.waitForElementVisible('.socal>span:nth-child("+ i +") a', 5000, function() {
browser.moveToElement('.socal>span:nth-child("+ i +") a', 3, 3);
browser.pause(8000);
browser.click(".socal>span:nth-child("+ i +") a");
browser.pause(6000);
browser.keys(['\uE006']);
browser.window_handles(function (result) {
var handle = result.value[1];
browser.switchWindow(handle);
browser.pause(8000);
//browser.assert.urlContains('facebook');
browser.closeWindow();
})
});
}
})
// .end();
}
};
あなたは何を試しましたか? – Aaron
こんにちはAaron、forなどのforループを入れようとしました(var i = 0; i <= socal.length; i ++) – Rita
ありがとうリタ。私はタイスクリプトを知らないので、あなたの質問に答えることはできませんが、これはおそらく初心者の質問であると言えます。そのように、私はあなたの答えに試したものを編集することをお勧めします。そうでなければ、あなたの質問に答えることができる人は、あなたが試したことを示していなければそうすることを嫌うかもしれません。 (この背後にある理由は、まず言語を使うことを学ぶべきであり、事前に調べなくても少しでも問題に答えることができれば、それを正しく学ぶことはできません) – Aaron