自动化用例是由程序去执行,因此有时候打印的错误信息并不十分明确。如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因。WebDriver 提供了截图函数getScreenshotAs()来截取当前窗口。
根据虫师的demo,我结合实际做了优化,效果不错。抛异常后截图,并且截图以时间戳命名区分。
package ScreenShot;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class ScreenShotCSDN {
public static void main(String[] args) throws IOException {
WebDriver driver = new FirefoxDriver();
// 打开CSDN登录页面
driver.get("https://passport.csdn.net/account/login?ref=toolbar");
try {
//输入用户名和密码,此处专门将密码输入错误,造出异常现象
driver.findE