Protractor: Correct use of waitReady.js file in my tests

倾然丶 夕夏残阳落幕 提交于 2019-12-10 06:26:28

问题


We are using browser.wait extensively throughout the entire test suite. It became a headache when managing different timeouts for different scenarios. I came across a waitReady function(https://gist.github.com/elgalu/2939aad2b2e31418c1bb), but I am unable to utilize it in my code. The directory looks like: (all files besides each other) .

├── conf.js
├── main.js
├── waitReady.js

Main.js --->Contains all describe and it blocks

    require('./waitReady.js');
    describe(...){
    it{
    code...
expect(element.waitReady()).toBeTruthy();
    };
    });

For some reason the code does not find that function and my code keeps getting function not defined error. Do I need to initialize it somewhere?


回答1:


Put the import into the onPrepare() in your protractor config:

onPrepare: function () {
    require('./waitReady.js');
},



回答2:


I had no doubt Alecxe would answer this one :)

An alternate solution for managing timeout lengths, which I've found useful, is to add default timeout lengths to a basePage, or onPrepare. For this I use t-shirt sizes... Eg:

this.timeout = {
    's' : 500,
    'm'  : 1000,
    'l'  : 5000,
    'xl'  : 10000
}; 

Then call thusly:

browser.wait(someThingToWaitFor(), this.timeout.xl);


来源:https://stackoverflow.com/questions/35533139/protractor-correct-use-of-waitready-js-file-in-my-tests

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!