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

tech2022-12-26  64

处理截图

通过监听器

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(); } } }
最新回复(0)