如何在Android手机上进行自动化测试(下)

 版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

前言

通过阅读本篇教程,你将会了解到:

  • 如何使用Poco对Android原生应用进行测试

Poco支持直接对任何Android原生应用(非游戏引擎、非webview)进行UI层次结构识别,用法上与Poco在其他平台上一模一样。

注:基于webview的应用比较特殊(如微信小程序或浏览器),请见文档

如果Pocoservice启动失败,会导致Pocoservice.apk反复重装,此时可以检查以下几个方面:

一个使用计算器的例子

在这里我们提供一个使用Poco对一个计算器应用编写代码的例子,点这里下载

from poco.drivers.android.uiautomation import AndroidUiautomationPoco  poco = AndroidUiautomationPoco()  poco('com.google.android.calculator:id/digit_1').click() poco('com.google.android.calculator:id/op_add').click() poco('com.google.android.calculator:id/digit_1').click() poco('com.google.android.calculator:id/eq').click()  result = poco('com.google.android.calculator:id/formula').get_text() assert_equal(result, '2', '1+1=2 ^^')
复制代码

在这段代码中,我们使用poco = AndroidUiautomationPoco()初始化了一个poco对象,然后分别选取了1 + 1按钮进行点击操作后,使用get_text接口非常轻松地获取到了结果控件的值2,并且使用断言语句进行结果验证。

这个例子非常简单,更多poco用法和例子请见poco tutorial

同时连接多台手机使用Poco

在上一篇教程(四、如何在Android手机上进行测试(上)-多机协作)中,我们提到了一个脚本里可以连接多台Android手机,并且用set_current接口在手机之间切换:

复制代码
from airtest.core.api import connect_device dev1 = connect_device("Android://127.0.0.1:5037/serialno1")  # 连上第一台手机dev2 = connect_device("Android://127.0.0.1:5037/serialno2")  # 第二台手机set_current(1)
复制代码

假如我们在连上手机后,想要分别使用poco去获取控件和点击这两台不同的手机,此时需要分别初始化两个poco,就像这样:

复制代码
from airtest.core.api import connect_device dev1 = connect_device("Android://127.0.0.1:5037/serialno1")  # 连上第一台手机poco1 = AndroidUiautomationPoco(dev1) dev2 = connect_device("Android://127.0.0.1:5037/serialno2")  # 第二台手机poco2 = AndroidUiautomationPoco(dev2)  set_current(1)  # 切到第二台手机poco2('com.google.android.calculator:id/digit_1').click()
复制代码

关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信