angularjs - Adding a promise to browser.driver.wait not working in protractor -


i using node-resemble image comparison library compare 2 images in protractor test. node-resemble returns promise resolves comparison data. want protractor wait till results available.

i have tried using browser.driver.wait achieve this, somehow not working. here's code using returning promise browser.driver.wait:

var compareimage = function(path1, path2) {     var deferred = protractor.promise.defer();     var img1 = fs.readfilesync(path1);     var img3 = fs.readfilesync(path2);     resemble(img1).compareto(img3).oncomplete(function(data) {         console.log(data);         deferred.fulfill(data);     });     return deferred.promise; }; 

and how using it:

var prom = compareimage(path1, path2); browser.driver.wait(prom, 3000).then(function(data) {     console.log(data);     expect(data.mismatchpercentage).tobe('0.00'); }); 

i have read documentation , have tried way described, somehow not working. none of 2 console.log logging data console. here documentation says:

example: suppose have function, starttestserver, returns promise when server ready requests. can block webdriver client on promise with: var started = starttestserver(); driver.wait(started, 5 * 1000, 'server should start within 5 seconds'); driver.get(getserverurl());

it seems there missing out. appreciated!

you have used browser.driver.wait.

instead use browser.wait , see how works


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -