JavaApp自动化测试系列[v1.0.0][Appium监听器实现测试失败则截图]

处理截图

通过监听器

package org.davieyang.testscripts;
import java.io.File;
import java.io.IOException;
import io.appium.java_client.AppiumDriver;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.testng.ITestResult;
import org.testng.TestListenerAdapter;

public class ScreenshotListener extends TestListenerAdapter{
    /**
     * 监听器是一些预定义的java接口,创建这些接口的实现类
     * 然后将其加入TestNG中,TestNG会在测试运行的不同时刻调用这些类中的接口方法
     * 实现ITestListener监听器的onTestFailure在测试失败的时候,保存控件截图
     */
    @Override
    public void onTestFailure(ITestResult iTestResult) {
        super.onTestFailure(iTestResult);
        AppiumDriver driver = Screenshot.getDriver();
        File file = new File("screenshots");
        String screenShotName = file.getAbsolutePath() + File.separator + iTestResult.getMethod().getMethodName()+".png";
        File screenShot = driver.getScreenshotAs(OutputType.FILE);
        try{
            FileUtils.copyFile(screenShot, new File(screenShotName));
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}

截图的几种尝试

package org.davieyang.testscripts;
import java.io.File;
import java.io.IOException;
import io.appium.java_client.AppiumDriver;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.testng.ITestResult;
import org.testng.TestListenerAdapter;

public class ScreenshotListener extends TestListenerAdapter{
    /**
     * 监听器是一些预定义的java接口,创建这些接口的实现类
     * 然后将其加入TestNG中,TestNG会在测试运行的不同时刻调用这些类中的接口方法
     * 实现ITestListener监听器的onTestFailure在测试失败的时候,保存控件截图
     */
    @Override
    public void onTestFailure(ITestResult iTestResult) {
        super.onTestFailure(iTestResult);
        AppiumDriver driver = Screenshot.getDriver();
        File file = new File("screenshots");
        String screenShotName = file.getAbsolutePath() + File.separator + iTestResult.getMethod().getMethodName()+".png";
        File screenShot = driver.getScreenshotAs(OutputType.FILE);
        try{
            FileUtils.copyFile(screenShot, new File(screenShotName));
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/dawei_yang000000/article/details/108380155
今日推荐