经过几天对 FAutoTest 框架的使用,现总结如下:
一、环境搭建
Python 版本安装
下载 & 安装 Python,安装后在终端输入命令 python -V 和 pip list,能够执行,说明 Python 环境配置成功。
Java JDK 版本安装
下载 & 安装 Java JDK 安装后在终端输入命令 java -version,java, javac 命令能够执行,则 Java 环境配置成功。
Android SDK 版本安装
下载 & 安装 Android Studio,然后在里面安装 Android SDK
配置 adb 环境
安装 Android Studio 后,配置 SDK 环境(若自动安装不成功,可到手动下载安装 ,安装后在终端输入命令 adb version 执行有结果,则说明配置成功
IDE 安装
下载 & 安装 Pycharm CE
FAutoTest 开发环境安装
库名称 版本 下载地址
uiautomator 0.3.2 https://pypi.org/project/uiautomator/#files
lxml 4.2.3 https://pypi.org/project/lxml/4.2.3/#files
bidict 0.17.0 https://pypi.org/project/bidict/#files
websocket-client 0.44.0 https://pypi.org/project/websocket-client/#files
以上第三方库 uiautomator、websocket-client、lxml、bidict,可用 pip 形式安装,如:python -m pip install uiautomator==0.3.2
我这里是已经安装过了,再次安装时,会打印以下信息。
安装自身框架
pip install dist/fastAutoTest-xxx.whl(whl 文件请在 dist 目录下手动下载,下载地址:https://github.com/Tencent/FAutoTest)
二、打开调试模式,并初始化
打开微信 Debug 模式,安装 TBS 内核
可在微信中打开 X5 调试地址:http://debugx5.qq.com
TBS 内核安装地址:http://debugtbs.qq.com
详情方式见:http://x5.tencent.com/tbs/guide/debug/faq.html
H5 建立连接:
adb shell am force-stop com.tencent.mm
adb shell "ps | grep com.tencent.mm:tools"
adb forward tcp:9222 localabstract:webview_devtools_remote_%s
查看是否成功建立连接,打开http://localhost:9222/json地址后,如果有返回信息,则连接成功。
小程序建立连接:
adb shell am force-stop com.tencent.mm
adb shell "dumpsys activity top | grep ACTIVITY"
adb forward tcp:9223 localabstract:webview_devtools_remote_%s
查看是否成功建立连接,打开http://localhost:9223/json,如果有返回信息,则连接成功。
三、查看页面元素
打开 chrome://inspect/#devices,点击 inspect 查看页面元素。(使用过程中可能需要 ***)
四、使用过程中遇到的一些问题
1.目前框架只支持 python2
2.暂时只支持 Android
3.运行非常缓慢
4.检查页面的元素信息,有时候需要 *** 才能看到
5.FAutoTest 主要是测试网页的,对应 native 应用,需要结合 uiautomator 框架使用
6.测试微信小程序时,微信版本需要使用 6.6.3,否则有可能会出现连接失败提示
7.测试 h5、小程序页面时,在打开被测试页面之前,需要先初始化建立连接。
8.运行过程中,很不稳定,经常会报一些莫名其妙错误。如:"RuntimeError: 无法获取 debug url,并检查是否配置了代理,是否已经建立了 websocket 连接未关闭",
"RuntimeError: 获取小程序页面特征失败","ValueError: url is invalid","Exception: "等等。