首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一旦达到leadfoot/Session#executeAsync调用的超时时间,如何继续实习生测试

一旦达到leadfoot/Session#executeAsync调用的超时时间,如何继续实习生测试
EN

Stack Overflow用户
提问于 2015-08-01 02:05:20
回答 1查看 388关注 0票数 0

要在应用程序中加载的URL数组。一旦页面加载,就会触发页面就绪事件。然而,当在sauce实验室上运行时,事件不会在随机页面上触发,测试也会失败。

如果事件没有触发,有什么方法可以继续测试吗?

代码语言:javascript
复制
              return remote.get(url)
                          .setExecuteAsyncTimeout(20000)
                          .then(function() {
                                var pageLoadEvent = conf.get("pageLoadEvent");
                                console.log("waiting for " + pageLoadEvent + " event to occur");
                                remote.executeAsync(function(done) {
                                    window.addEventListener(pageLoadEvent, function() {
                                        done();
                                    }, false);
                                }, []);
                            })
EN

回答 1

Stack Overflow用户

发布于 2015-08-01 04:35:51

您可以在executeAsync之后使用catch回调来处理错误,但是如果可以跳过ready事件,那么测试真的有必要吗?

您还应该返回在then回调中创建的任何命令链的结果,以确保异步链正常继续。否则,外部命令链将继续运行,而不等待executeAsync完成。

代码语言:javascript
复制
return remote.executeAsync(function (done) {
    ...
}).catch(function (error) {
    // Do nothing here to consume the error, or rethrow it to have the test fail.
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31752452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档