appium java实现截屏,java+appium的报错-截图功能

我们测试工程师,再做自动化测试的时候,目的就是为了实现机器代替人工,进行繁琐重复的工作,并且通过代码实时保证线上的稳定性,以便能第一时间发现问题,定位问题,解决问题,减小损失.接下来我来简单阐述一下,当遇到错误进行屏幕截图,并且保存图片至本地文件,以便更好地查找问题:

首先:

1.我们封装方法,创建一个Screenshot的方法名称 因为封装方法,所以我们需要提供参数,首先第一个参数就是,androiddriver的参数.

我们做过自动化的同学都知道,在主代码内会有driver的对象,以便来driver.findeve....来查找元素  在调用方法的时候需要将这个driver传入到这个方法内. 第二个参数就是图片的名称,用字符串的形式来接收,string  传进来的图片是什么名称最后生成的就是什么,以便用来更好的查找.

上述是大体创建类以及参数的讲解:接下来我们来在这个类里面编写方法逻辑  通过这段代码,我们就可以生成截图jpg

下面我以代码的形式编写,同时增加备注,这样容易理解:

public static  void  Screenshot(AndroidDriver driver,String Picturename) throm IOException{

上面就是类的外部.接下来我们首先需要设置一个时间的格式:     Timeformat  就是时间格式的对象.

SimpleDateFormat   Timeformat = new SimDateFormat("yyy-MM-dd-HH-mm-ss")

接下来我们生成时间戳;          括号内的参数  new Date 是java内部的源码类 不是我们封装的.

String dateString = Timeformat.format(new Date);

生成图片的目录

String  dir_name = System.getProperty("user.dir")+"\\异常图片";

由于可能会存在图片的目录被删除的可能,,所以我们先判断目录是否存在,  如果不在的话:

if( !(new File(dir_name ).isDirectory())){

不存在的话就进行创建目录.

new File(dir_name ).mkdir();

}

调用方法捕捉画面;

File Screen =  driver.getScreenshotAs(OutputType.FILE);

复制文件到本地目录, 图片的最后存放地址为::

FileUtils.copyFile(screen,new File(dir_name+"\\"+dateString +Picturename+".jpg"));

}

上述就是我们通过报错或者出现不正常情况 调用我们的截图方法 保存到本地.

那么这个是怎么用呢,在我们的主方法里面,有一个方法叫try  cache的方法不知道大家有没有用过.try cache 是为了处理异常用的

我们在try里面放入我们被测的代码,在cache里面放入我们的截图方法,当页面异常 就会走cache方法.从而进行截图保存.

-小饼呀

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值