在自动化测试中,如果有测试用例运行失败,我们想到使用截图方式对页面出问题的现场进行“照相”,方便后继的问题排查。
1.定义一个截图类实现具体的截图操作:
package ec.qa.autotest.ui.testng.listener;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.Date;
import javax.management.loading.PrivateClassLoader;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import ec.qa.autotest.ui.testbase.TestBase;
public class ScreenShotOnFailure {
private final static String SCREEN_SHOT_PATH = "test-output/screen-shot";
private static String SCREEN_SHOT_NAME = null;
public static void takeScreentShot() throws IOException {
File screenShotDir = new File(SCREEN_SHOT_PATH);
if (!screenShotDir.exists()) {
screenShotDir.mkdirs();
}
SCREEN_SHOT_NAME = String.valueOf(new Date().getTime()) + ".jpg";
FileUtils.copyFile(TestBase.getWebDriver().getScreens