私のユースケースはこれによって異なりますが、一般的には要素の束を集めて、それぞれに_.map()
を適用しようとしています。問題は、このシリーズの.getAttribute()
コールが、ローカルで動作するテストを引き起こし、ソース/アンドロイドのようなリモートサーバーに対して失敗する可能性があることです。Leadfoot +ソース:getAttrを使用した要素のコレクションのマッピングはモバイルでのみ失敗します
1つの例:ページ上にすべて<div class='article'><a href='articles/{id}'>
を収集して、その後、hrefを取得する。このようなものに見えるかもしれません。このアプローチは、モバイル(アンドロイド)ソース環境でテストするまで機能します。私はタイムアウトを取得します。
これは私のアンドロイド環境の機能に関連する問題ですか?たくさんのリクエストを重ねるには? 75件の記事から45件までのテストをスケールダウンしてみました。タイムアウトを60に引き上げましたが、モバイルテストは失敗します。ローカルではクロムドライブが問題なく、クロムデスクトップ+ソースは問題ありません。
なく、私の実際のテストが、コードの近似は私が話している:
/// ... return this.remote
.findAllByTagName('div.article a')
.then(function (articles) {
var promises = articles.map(function(article) {
return article.getAttribute('href');
});
Promise.all(promises)
.then(function (hrefs) {
uniques = _.uniq(hrefs);
assert(hrefs.length === uniques.length);
});
});
どのようなエラーが表示されますか? – jason0x43
もっと一般的なJavaScriptクライアントで試してみてください。 "Leadfootはブラウザを非常に速く動かす" –
@ jason0x43 - 私が得ているエラーはちょうど「Linuxでアンドロイド4.4でタイムアウトに達しました - 無限スクロールは3回働いています」これは最も最近の彼らのコンフィギュレータで提供されているアンドロイドビルドソースは、アンドロイドエミュレータで実行されています。私は別のオプションは、アンドロイドエミュレータを避けるために、単に携帯電話の寸法/機能とクロム/サファリを使用することでしょうか? – erikdstock