介绍:4399AT是一款基于APPIUM框架改造和集于算法遍历,图像识别技术的自动化测试工具
工具:适用于Android App UI自动化
电脑系统:win10 64位
环境检查
点击该按钮,进行jdk-node-sdk-appium环境检查,当环境中缺少jdk、node或者sdk时直接在控制台提示请安装jdk,node或者sdk,其中要求jdk版本1.8以上,node版本9以上,adb版本1.0.39以上;环境齐全的情况下检查是否配置好环境变量。(注:这三项环境都需要自己安装配置,不提供自动安装的机制)
在这三项都安装且配置正常的前提下,对appium环境进行检查
- 安装最新版且配置正确的设备可正常使用该程序
- 检测到安装的appium不是最新版,则对appium进行自动升级,升级过程大概20多分钟,具体看网速,安装完毕后对环境进行检查,显示一切环境为正常
- 检测到没有安装appium,进行自动安装,安装完毕后对环境进行检查,显示一切环境为正常
环境检查正常之后,对手机设备的连接进行检查,当一切检查均为正常时,开始按钮才可以点击
支持多次检查环境
api文档
点击该按钮跳转至api介绍文档,这份文档对脚本会使用到的api进行详细介绍
公用脚本
上传公用脚本,用于处理APP的引导、弹窗和登陆操作;
只可上传json格式的文档,上传其他格式文档报错提醒,如下图所示,上传apk文档时报错提醒“脚本需要的是json格式的文件,请检查...”
上传的文件路径中不可包含中文,如选择的文件路径包含中文则报错提醒,如下图所示,“选择的路径,不能为中文,请检查!”
测试脚本
上传测试用例脚本
只可上传json格式的文档,上传其他格式文档报错提醒,报错信息同公用脚本
测试apk
上传目标应用apk包
只可上传apk格式的文档,上传其他格式文档报错提醒,如下图所示
测试设备
该处不填的情况,默认执行连接到电脑上的所有设备
只能填写设备id,设备id可通过指令"adb devices"取得
目前只支持填写一个id;即只有运行一台和运行所有设备这两种选择
程序会在执行前检查设备的连接状态,填入多个设备id时,会将填入的信息都当成一个设备id去检查,因为会报错“填入的设备号不在线,请检查设备连接!”
辅助功能
勾选该选项,表示目标应用的安装配置全部由本地的安装配置来执行,不从服务端获取设备信息;控制台信息如下:
当安装配置文档中缺少目标设备的配置时,可以从服务端拉取配置信息的情况会从服务端进行安装引导,不能拉取的情况下则无法成功进行安装配置引导,控制台信息如下:
不配置该项的情况,安装配置从服务端自动拉取
只可上传json格式的文档,上传其他格式文档报错提醒,报错信息同公用脚本
登陆
勾选该选项,展示账号密码输入框,填写规则为:账号和密码之间使用英文冒号间隔开,每行填写一个,账号数无限制。勾选了登陆选项必须填写账号密码且账号数与设备数需对应,否则运行时报错
覆盖安装
勾选覆盖安装选项,展示公用脚本、测试脚本、测试apk和是否登录的选项
脚本与apk上传规则如上,其中两个apk文件必须包名一致且旧包的版本要低于新包,否则报错
登陆涉及到的状态如下:
- 只执行新包的登陆,则不勾选该选项
- 只执行旧包的登陆,即上述的登陆不勾选,只勾选该处的登陆选项,此时勾选该选项需展示账号密码输入框,输入规则同上,此时登陆输入框中的账号密码供旧包的登陆使用
- 新包与旧包都要执行登陆操作,使用相同的账号密码,勾选上述的登陆且展示账号密码输入框,勾选该处的登陆选项但不展示账号密码输入框
过度绘制
勾选该选项需在开发者模式中开启过度绘制功能
具体使用方法见api介绍文档
开始-结束按钮
- 开始:点击开始,要对apk、脚本、设备是否有连接进行判断,对于用户名简单过滤,判断账号数与设备数是否一致,点击开始后生成以Test_report+时间的报告,其中对覆盖apk要判断包名是否一致、版本是否小于当前测试的apk版本,所有的判断都通过后才开始执行
- 结束:点击了开始按钮之后,开始按钮灰化,结束按钮为可点击态,在没有执行正常结束过程中,点击结束按钮,无法正确生成测试报告,即手动中断程序执行,报告请点击是无法点击的。点击结束,所有进程结束,确定结束后,开始按钮才重新为可点击状态
报告
该项只有在正常结束运行后才可以点击,其他任何形式的结束执行都不可点击
点击该按钮跳转至本地报告,报告内容请自行确认
控制台
以时间顺序展示log
注:程序运行过程中如出现中文乱码的情况,需配置以下环境变量,重启电脑后可正常使用。变量名:JAVA_TOOL_OPTIONS,变量值:-Dfile.encoding=UTF-8
配置该项环境变量可能会影响其他控制台的中文乱码情况,如出现需要自行删除该环境配置,需要的时候再自行添加
报告文档
在libs文件夹下,存储每一次运行的报告文档,报告文件夹命名方式为TestReport+运行时间
文件夹以设备id直接命名,运行多台设备时,每台设备单独文件夹存放。
从上之下分别为:
- CaseImage文件夹:目标apk用例截图,文件夹内按每个用例一个文件夹区分用例,文件夹以用例名称命名
- old文件夹:覆盖安装旧包运行用例截图,文件夹内按每个用例一个文件夹区分用例,文件夹以用例名称命名
- screenshot文件夹:用例截图外的设备其他所有截图
- ActivityInfo.txt:目标应用全部activity页面信息
- AllLog.txt:Android logcat中的被测应用日志
- CaseLog.txt:用例的执行情况,成功几条失败几条之类的信息
- ErrorLog.txt:Android logcat中的被测应用的错误日志
- index.html:打开该文件相当于点击报告中设备概况-查看详情,打开的是设备的详情报告
- OtherLog.txt:与控制台输出的信息一致,存储执行的每一个步骤和执行情况,日志按时间顺序打印