我的用例对此有所不同,但总的来说,我试图收集一堆元素,然后应用于_.map()每个元素。问题是这一系列.getAttribute()调用可能会导致在本地工作的测试对远程服务器(如 sauce/android)失败。
一个例子:收集<div class='article'><a href='articles/{id}'>页面上的所有内容,然后获取 href。它可能看起来像这样,并且这种方法将一直有效,直到我在移动(android)酱环境上进行测试。然后我得到一个超时。
这可能是与我的 android 环境功能有关的问题吗?堆积这么多请求?我尝试将我的测试从使用 75 篇文章缩减到仅 45 篇,并将超时时间提高到 60 秒,但移动测试仍然失败。本地用chromedriver就可以了,chrome桌面+酱就可以了。
不是我的实际测试,而是我正在谈论的代码的近似值:
/// ... 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);
});
});