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?
Put the import into the onPrepare()
in your protractor config:
onPrepare: function () {
require('./waitReady.js');
},
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With