版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途
前言
通过阅读本篇教程,你将会了解到:
Poco支持直接对任何Android原生应用(非游戏引擎、非webview)进行UI层次结构识别,用法上与Poco在其他平台上一模一样。
注:基于webview的应用比较特殊(如微信小程序或浏览器),请见文档
如果Pocoservice
启动失败,会导致Pocoservice.apk
反复重装,此时可以检查以下几个方面:
- 是否Android版本过低,Poco支持
Android SDK API
≥ 19,即Android 4.4及以上 - 请关闭PC或手机上连接的网络代理Proxy,否则可能导致连不上Poco
- 可以尝试卸载手机中的2个Pocoservice相关的APK后,手工重新安装一遍,在
poco\poco\drivers\android\lib
目录下能够找到这两个APK - 部分vivo和oppo手机需要将手机设置-输入法设置中,把
Yosemite
输入法设置为默认输入法+当前输入法
一个使用计算器的例子
在这里我们提供一个使用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 ^^')
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)
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()