Appium入门自动化测试(10)—— 如何实现Appium截图呢?

1198 篇文章 46 订阅
764 篇文章 11 订阅

今天

我们继续研究Appium,今天我们要实现的是截图功能。自动化框架中的截图功能是一个很方便很实用的功能,用过QTP的朋友一定会注意到,从最简单的录制回放中,可以看到QTP对关键点的的截图,能够让查看测试报告的人一目了然的看到你测试执行的情况,也是做对比和验证的一个依据。

那么如何实现Appium截图呢?

其实Appium的截图功能是借助于TakesScreenshot接口

 

截图方法

AppiumDriver继承Selenium的RemoteWebDriver,因此直接使用TakeScreenshot接口(⚠️shot是小写字母开头)。那么怎么用呢?

首先通过生成截图:

File screenShort=driver.getScreenshotAs(OutputType.FILE)

然后把截图保存到指定路径:

FileUtils.copyFile(screenShot, new File(newPath));

我这里封装一个截图方法:

/**

* This Method create for take screenshot

* 

* @author Young

* @param drivername

* @param filename

*/

public static void snapshot(TakesScreenshot drivername, String filename) {

// this method will take screen shot ,require two parameters ,one is

// driver name, another is file name

String currentPath = System.getProperty("user.dir"); // get current work

File scrFile = drivername.getScreenshotAs(OutputType.FILE);

// Now you can do whatever you need to do with it, for example copy

// somewhere

try {

System.out.println("save snapshot path is:" + currentPath + "/"

+ filename);

FileUtils

.copyFile(scrFile, new File(currentPath + "\\" + filename));

} catch (IOException e) {

System.out.println("Can't save screenshot");

e.printStackTrace();

} finally {

System.out.println("screen shot finished, it's in " + currentPath

+ " folder");

}

}

而这种方式截图需要主动调用,不能够在测试失败自动截图。大多数情况我们的需求往往是失败的时候实现自动截图,知道挂在什么地方,哪个页面。那么如何实现失败截图呢?

原理很简单,前提是你得使用testng,override一下TestListenerAdapter,在onTestFailure方法中添加截图方法。今天的学习到此结束,码个资料送给你


最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入下方我的qq群大家一起讨论交流,里面也有各种软件测试资料和技术交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值