1. 前言

进行Android poco初始化的时候,可能大多数同学都是直接在Poco辅助窗里选择Android模式,然后选择自动帮我们补充poco的初始化脚本:

这种情况下,我们大多数都不会关注初始化的参数。但如果我们不了解这些参数的含义,也非常有可能在一些特殊情况下踩到一些坑。下文我们就从一次入坑经历说起吧~

2. 入坑分享:没有传poco初始化的参数

有一次在给Android设备初始化poco时,小A采用了下述的方式:

dev1 = Android('127.0.0.1:7555')from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco1 = AndroidUiautomationPoco(dev1)sleep(1.0)
poco1("计算器").click()

然后在生成报告的时候,小A发现,报告没有Poco点击计算器的步骤,而只有1张截图,截图上也没有标注控件点击位置:

经过一顿排查之后,才发现,原来他这里没有传任何的Poco初始化参数,之后他把参数加上:

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco1 = AndroidUiautomationPoco(dev1,use_airtest_input=True, screenshot_each_action=False)

报告就能正常显示了:

那这2个Android poco的初始化参数,究竟起到怎样的作用呢?我们下文详细说明下。

3. use_airtest_input

use_airtest_input=True是指,使用Airtest去执行点击操作,好处是,会在日志里面记录一条log记录,这样生成报告时,就能在报告上显示这个点击记录。

如果初始化Android poco时,不传入这个参数,默认use_airtest_input=False,则不使用Airtest去执行点击操作,而是调用Android接口去点击,这时候不会在日志里面记录一条点击的log,所以会导致报告里面丢失这个点击步骤。

所以,如果同学们不在意log内容,或者无需生成测试报告,这个参数可以不传。

但如果同学们需要生成测试报告,在初始化Android poco时,还是需要把use_airtest_input=True这个参数传上去。

4. screenshot_each_action

screenshot_each_action是指,是否开启每个poco步骤的截图。我们也可以从1个对比测试,来看出这个参数的效果:

# 关闭每个步骤的截图操作
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=False, screenshot_each_action=False)sleep(1.0)
poco("计算器").click()

# 开启每个步骤的截图操作
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=False, screenshot_each_action=True)sleep(1.0)
poco("计算器").click()

至于,为什么当初始化时,指定use_airtest_input=True,且screenshot_each_action=False 时,仍然会有截图,这是因为使用了Airtest的点击,Airtest点击是默认开启截图的:

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)sleep(1.0)
poco("计算器").click()

5. 小结

本文详细讲述了,进行Android poco初始化时,传参和不传参的差别,以及可能带来的坑点。也跟同学们解释了use_airtest_input和screenshot_each_action这两个参数的作用,后续我们会跟大家分享更多关于Airtest报告的内容~


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

Android Poco初始化时,不大起眼但可能存在坑点的参数们相关推荐

  1. Android在初始化时弹出popwindow的方法

    Android中在onCreate()时弹出popwindow,很多人都有过类似的需求吧,但是直接在onCreate()中调用popwindow的showAtLocation()方法是会报异常的,原因 ...

  2. android菜单键 r9,【报Bug】android oppoR9tm 使用subnvue导航栏初始化时 导航栏阴影闪烁...

    详细问题描述 (DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题) [内容] 重现步骤 andr ...

  3. Android程序运行时出现java.lang.OutOfMemoryError 错误

    写了一个用Paint和Canvas画图的类,画完之后将所画内容保存到手机sd卡上. 1>代码如下: package me.linkcube.taku.ui.share;import java.i ...

  4. Android应用基础知识(4)---Android处理运行时变更

    Android处理运行时变更 有些设备配置可能会在运行时发生变化(例如屏幕方向.键盘可用性及语言). 发生这种变化时,Android 会重启正在运行的 Activity(先后调用 onDestroy( ...

  5. Android地图权限处理,Android 使用地图时的权限请求方法

    在初始化自己位置的时候请求定位权限: Constants.ACCESS_FINE_LOCATION_COMMANDS_REQUEST_CODE是自定义的常量值==0x01 if (ContextCom ...

  6. android启动画面白屏,Android app启动时黑屏或者白屏的原因及解决办法

    1.产生原因 其实显示黑屏或者白屏实属正常,这是因为还没加载到布局文件,就已经显示了window窗口背景,黑屏白屏就是window窗口背景. 示例: 2.解决办法 通过设置设置Style (1)设置背 ...

  7. android下运行时动态链接dlopen()和dlsym()的实现

    在android中,就如同在Linux下一样,我们也可以在app中,运行时动态加载一些动态链接库,执行调用其中的函数等操作.实现这一切最终依靠的就是dlopen()等几个函数.关于这几个函数的原型机这 ...

  8. android 禁用dlsym_(转载)android下运行时动态链接dlopen()和dlsym()的实现

    出处:http://my.oschina.net/wolfcs/blog/144412#OSC_h2_1 android下运行时动态链接dlopen()和dlsym()的实现 在android中,就如 ...

  9. Android通用初始化Activity模板

    Android通用初始化Activity模板 很多Android程序开始运行的时候,都会首先启动一个初始化的InitActivity,然后在这个InitActivity的加载函数(onCreate)中 ...

最新文章

  1. iptables 配置 使用-3
  2. Javabean学习纪要
  3. uvalive5790(DP)
  4. 可申请试用!GN4系列GPU云服务器重磅来袭
  5. P2324 [SCOI2005]骑士精神(迭代加深搜索,dfs)
  6. java后端项目怎么实现图片预览_项目经验不重样!3个基于 SpringBoot 的图片识别处理系统送给你!...
  7. 修改Yarn的全局安装和缓存位置
  8. c++ 编译时检测结构体大小的的宏定义写法
  9. 伪随机数与采样(sampling)
  10. 中英文停用词(stop word)列表
  11. 软件工程:可行性分析,需求分析思维导图
  12. 简历中的star法则
  13. 注解处理器(Annoation Processor)
  14. Mac 查找软件安装位置
  15. codevs1069 关押罪犯
  16. 吴恩达机器学习——反向传播算法
  17. 基于vue2编写的md编辑器-Bytemd
  18. 家门口的微醺“buff”——酒分之一开启社区酒吧式便利店次元
  19. f分布表完整图a=0.01_自动控制原理2.2.2传递函数零极点,零点如何影响输出响应曲线...
  20. SVN 代码到Git仓库 只需几步简单粗暴 代码和小乌龟都可以

热门文章

  1. 顾往前行,我的前端之路系列(二)
  2. 努力和天赋哪个更重要
  3. pytorch loss反向传播出错
  4. 政府信息化与电子政务、企业信息化与电子商务、数据库和数据仓库的区别、商业智能系统处理过程、数据仓库结构图、数据挖掘、数据仓库和数据湖的对比
  5. 了解Swift:15个适合iOS应用开发的初学者友好资源
  6. android游戏开发系列(2)——背景音乐播放技术
  7. android listview 切换,Android ListView切换按钮
  8. 硅谷印度工程师越来越多,把种姓歧视也带来了
  9. IT项目管理学习笔记(一)
  10. 基于树莓派的超声波数据采集与存储(一)——树莓派配置