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

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_inputscreenshot_each_action这两个参数的作用,后续我们会跟大家分享更多关于Airtest报告的内容~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章