开发者社区> 问答> 正文

如何截图?


MQC一直在探索和寻找各种方法帮助用户发现更多的问题、更快速的定位问题。 为此,我们提供了两类不同的截图功能来满足不同的用户的需求。


  • 自动截图。自动截图是我们提供的一种默认的截图方式,测试系统会在APP测试过程中,自动的进行屏幕抓取。这种方式下,您无需增加任何成本,只需要将APP和测试脚本提交即可。

  • 自定义截图。系统自动截图,有时候并不能满足您的精确截图的需求(比如把截图作为功能测试通过与否的决定条件)。为了满足精确截图的需求,我们推出了自定义截图功能, 自定义截图能够非常精确的进行截图。自定义截图是通过logcat日志发送截图消息实现的。

下面是自定义截图的使用方法。

  1. Robotium脚本
    在Robotium脚本中,我们需要通过Android系统自带的日志系统(android.util.Log)进行截图消息发送,具体使用方法:
    a. 不指定截图文件名,使用时间戳作为文件名[backcolor=transparent]Log[backcolor=transparent].[backcolor=transparent]i[backcolor=transparent]([backcolor=transparent]"MQC-LOG-MASTER"[backcolor=transparent],[backcolor=transparent]  [backcolor=transparent]"screenshot"[backcolor=transparent]);
  2. [backcolor=transparent]solo[backcolor=transparent].[backcolor=transparent]sleep[backcolor=transparent]([backcolor=transparent]2000[backcolor=transparent]);[backcolor=transparent]  [backcolor=transparent]// 调用截图,请等待2秒钟。

b. 指定截图文件名
  1. [backcolor=transparent]Log[backcolor=transparent].[backcolor=transparent]i[backcolor=transparent]([backcolor=transparent]"MQC-LOG-MASTER"[backcolor=transparent],[backcolor=transparent]  [backcolor=transparent]"screenshot  picName"[backcolor=transparent]);[backcolor=transparent] [backcolor=transparent]// 以picName作为本次截图的文件名。
  2. [backcolor=transparent]      solo[backcolor=transparent].[backcolor=transparent]sleep[backcolor=transparent]([backcolor=transparent]2000[backcolor=transparent]);[backcolor=transparent]  [backcolor=transparent]// 调用截图,请等待2秒钟

Appium脚本
我们需要调用Appium的Python 客户端包中的方法:
a. 不指定截图文件名称,使用时间戳作为文件名
  1. [backcolor=transparent]    [backcolor=transparent]// dirver 是Appium WebDriver的一个实例对象,可以通过driver 下的各个方法操作设备,比如shell函数,就是在手机上执行一个shell命令。
  2. [backcolor=transparent]    driver[backcolor=transparent].[backcolor=transparent]shell[backcolor=transparent]([backcolor=transparent]"log  -p  i  -t  MQC-LOG-MASTER  screenshot"[backcolor=transparent])
  3. [backcolor=transparent]    [backcolor=transparent]// 需要import time 这个包
  4. [backcolor=transparent]    time[backcolor=transparent].[backcolor=transparent]sleep[backcolor=transparent]([backcolor=transparent]2[backcolor=transparent])[backcolor=transparent] [backcolor=transparent]// 等待2s

b. 指定截图文件名
  1. [backcolor=transparent]    [backcolor=transparent]// 以picName作为本次截图的名称
  2. [backcolor=transparent]    driver[backcolor=transparent].[backcolor=transparent]shell[backcolor=transparent]([backcolor=transparent]"log  -p  i  -t  MQC-LOG-MASTER  screenshot  picName"[backcolor=transparent])
  3. [backcolor=transparent]    [backcolor=transparent]// 需要import time 这个包
  4. [backcolor=transparent]    time[backcolor=transparent].[backcolor=transparent]sleep[backcolor=transparent]([backcolor=transparent]2[backcolor=transparent])[backcolor=transparent] [backcolor=transparent]// 等待2s

展开
收起
猫饭先生 2017-10-25 10:13:02 1390 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载