FAT框架里,其实已经载入了uiautomator框架。
注意:它不能代替FAT里的click等方法,因为FAutoTest是h5,而uiautomator是native。所以遇到native控件,就使用uiautomator框架。
首先
1:安装python-uiautomator2
pip install --pre uiautomator2
2:设备安装atx-agent
python -m uiautomator2 init
注:如果python -m uiautomator2 init安装失败,失败原因(environmenterror),则是因为手机不允许adb安装apk。设置一下就可以了。看看手机是否支持adb安装apk。
参考文件:https://github.com/openatx/uiautomator2/issues/53
3:安装weditor
Pip install weditor
4:打开weditor
python -m weditor,如果报错No module named cv2,通过pip install opencv-python来下载cv组件,然后通过命令再次打开weditor即可。或者直接新建一个weditor.bat文件存放桌面上,下次直接点击这个bat文件就可以了。
如何使用weditor呢?
这里只做一个简单的介绍,毕竟主要是进行小程序的自动化测试,抓取元素才是主要的。
点击connect,旁边出现一个绿色的小树,则说明连接成功,操作手机至需要抓取元素的页面,reload,即可。(支持wifi链接,但是因为小程序自动化也是需要链接数据线的,所以这里不做wifi链接的介绍)
使用方法:
定位方式
- ResourceId定位: d(resourceId=“com.smartisanos.clock:id/text_stopwatch”).click()
- Text定位 d(text=“秒表”).click()
- Description定位 d(description="…").click()
- ClassName定位 d(className=“android.widget.TextView”).click()
xpath定位并不支持,一开始打算做支持的,但是发现不用也能搞定。就是代码写的长一点而已。
操作控件
#click
d(text=“Settings”).click()
#long click
d(text=“Settings”).long_click()
#等待元素的出现
d(text=“Settings”).wait(timeout=10.0)
中文字符的输入
如果可以定位到元素,直接通过set_text就可以输入中文
d(text=“Settings”).set_text(“你好”)
如果定位不到元素需要使用send_keys方法,以及切换输入法
d.set_fastinput_ime(True)
d.send_keys(“你好 Hello”)
d.set_fastinput_ime(False) # 输入法用完关掉
截图:d.screenshot(“home.jpg”)