当测试用例执行失败的时候,我们希望能截取一下屏幕。
这样,失败的原因就会一目了然。
selenium 封装了相关的API, 我们不妨用起来。
实现代码如下:
说明:下面代码中initDriver();沿用了前一篇博客------高亮对象中封装的方法,不清楚的可以回去看一下。
package common;
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.testng.annotations.Test;
public class ScreenShort extends InitialDriver{
@Test
public void myTest() throws Exception {
initDriver();
driver.get("http://www.baidu.com");
File screenshot =((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(screenshot, new File("c:\\tmp\\screenshot1.png"));
}
}
这样,在路径C:\tmp上就会有一张百度的截图screenshot1.png。
这里只是一个简单的开始,后面会继续讲述如何将失败的截图擦入到报告里面。
这样大家在看报告的时候可以直接看到截图,不用到某个路径上去找。