我们在整个测试套件中广泛使用browser.wait。在针对不同场景管理不同的超时时,它变得令人头疼。我遇到了waitReady函数(https://gist.github.com/elgalu/2939aad2b2e31418c1bb),但我无法在代码中使用它。 该目录看起来像:(所有文件彼此相邻)
├── conf.js
├── main.js
├── waitReady.js
Main.js --->包含所有描述和阻止
require('./waitReady.js');
describe(...){
it{
code...
expect(element.waitReady()).toBeTruthy();
};
});
由于某种原因,代码没有找到该函数,我的代码仍然没有定义函数未定义错误。我需要在某处初始化吗?
答案 0 :(得分:4)
将导入放入量角器配置中的onPrepare()
:
onPrepare: function () {
require('./waitReady.js');
},
答案 1 :(得分:3)
我毫不怀疑Alecxe会回答这个问题:)
管理超时长度的替代解决方案(我发现它很有用)是将默认超时长度添加到basePage或onPrepare。为此,我使用T恤尺码......例如:
this.timeout = {
's' : 500,
'm' : 1000,
'l' : 5000,
'xl' : 10000
};
然后打电话给:
browser.wait(someThingToWaitFor(), this.timeout.xl);