【发布时间】:2019-05-20 21:44:48
【问题描述】:
我目前有一个 QA 和一个培训环境。我想测试一个特定的网页是否显示相同的对象。 (即两个页面必须显示来自两个环境的相同输入、链接、选项卡、文本区域等)。我目前使用量角器黄瓜框架运行 e2e 测试。是否可以编写一个代码来进行这种比较并输出来自 QA 和培训的页面内的不匹配(如果有)。
【问题讨论】:
标签: testing automation protractor cucumber
我目前有一个 QA 和一个培训环境。我想测试一个特定的网页是否显示相同的对象。 (即两个页面必须显示来自两个环境的相同输入、链接、选项卡、文本区域等)。我目前使用量角器黄瓜框架运行 e2e 测试。是否可以编写一个代码来进行这种比较并输出来自 QA 和培训的页面内的不匹配(如果有)。
【问题讨论】:
标签: testing automation protractor cucumber
有两种方法可以做到这一点
但第一种选择会非常简单有效
使用以下代码截取屏幕截图
public static void takeSnapShot(WebDriver webdriver,String fileWithPath) throws Exception{
TakesScreenshot scrShot =((TakesScreenshot)webdriver);
File SrcFile=scrShot.getScreenshotAs(OutputType.FILE);
File DestFile=new File(fileWithPath);
FileUtils.copyFile(SrcFile, DestFile);
}
使用 Sikulix API 将图像与当前屏幕进行比较
Screen screen = new Screen();
screen.setAutoWaitTimeout(30000);
screen.wait(new Pattern("img/image.PNG")).click();
screen.wait(new Pattern("img/image.PNG").exact()).click();
或者您可以使用Appli tool 来比较两个图像文件。
【讨论】: