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 blockwebdriver
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
Post a Comment