在Protractor中,我需要打开一个非Angular页面,其中包含一个画布,该画布将被填充图像。然后我需要操作该图像并进行屏幕截图比较。但是我的问题是如何让测试等待图像加载完成。如果使用Expected Conditions来等待元素,则无法正常工作。
为了展现或显示,canvas元素已经出现和可见,但是图像仍在加载中,因此当它发生时,截图比较失败,因为图像通常只有一半被加载。我可以通过在代码中插入大量的browser.sleep(20000)语句来确保图像完全加载,但这太糟糕了。
有人知道一种方法可以使protractor等待图像完成加载才继续吗?或者至少有一种稍微好一点的方法吗?
谢谢
browser.wait(expectedConditions.visibilityOf(element(by.tagName('canvas'), 20000);
browser.wait(expectedConditions.presenceOf(element(by.tagName('canvas'), 20000);
为了展现或显示,canvas元素已经出现和可见,但是图像仍在加载中,因此当它发生时,截图比较失败,因为图像通常只有一半被加载。我可以通过在代码中插入大量的browser.sleep(20000)语句来确保图像完全加载,但这太糟糕了。
有人知道一种方法可以使protractor等待图像完成加载才继续吗?或者至少有一种稍微好一点的方法吗?
谢谢
c=document.getElementById("myCanvas"); c.toDataURL();
返回相同的2或3次,这只是一个想法,可能是一种解决方法,或者更好地为您提供思路...我现在还没有确定的答案。 - DIEGO CARRASCAL