一款很“炸”的安卓UI自动化工具

时间:2024-04-09 21:10:04

介绍:4399AT是一款基于APPIUM框架改造和集于算法遍历,图像识别技术的自动化测试工具

工具:适用于Android App UI自动化

电脑系统:win10 64位

工具好处:解决不同手机安装提示和APP操作提示框,兼容不容手机控件,adb不稳定,PO模式等问题,具体可关注微信公众号“测试一般不一般”进行相关资料查看。

以下是关于该工具的使用说明,详情API可查看api文档

 

一款很“炸”的安卓UI自动化工具

环境检查

点击该按钮,进行jdk-node-sdk-appium环境检查,当环境中缺少jdk、node或者sdk时直接在控制台提示请安装jdk,node或者sdk,其中要求jdk版本1.8以上,node版本9以上,adb版本1.0.39以上;环境齐全的情况下检查是否配置好环境变量。(注:这三项环境都需要自己安装配置,不提供自动安装的机制)

在这三项都安装且配置正常的前提下,对appium环境进行检查

  1. 安装最新版且配置正确的设备可正常使用该程序

一款很“炸”的安卓UI自动化工具

  1. 检测到安装的appium不是最新版,则对appium进行自动升级,升级过程大概20多分钟,具体看网速,安装完毕后对环境进行检查,显示一切环境为正常

一款很“炸”的安卓UI自动化工具

  1. 检测到没有安装appium,进行自动安装,安装完毕后对环境进行检查,显示一切环境为正常

一款很“炸”的安卓UI自动化工具

环境检查正常之后,对手机设备的连接进行检查,当一切检查均为正常时,开始按钮才可以点击

支持多次检查环境

api文档

点击该按钮跳转至api介绍文档,这份文档对脚本会使用到的api进行详细介绍

一款很“炸”的安卓UI自动化工具

公用脚本

上传公用脚本,用于处理APP的引导、弹窗和登陆操作;

一款很“炸”的安卓UI自动化工具

只可上传json格式的文档,上传其他格式文档报错提醒,如下图所示,上传apk文档时报错提醒“脚本需要的是json格式的文件,请检查...”

一款很“炸”的安卓UI自动化工具

上传的文件路径中不可包含中文,如选择的文件路径包含中文则报错提醒,如下图所示,“选择的路径,不能为中文,请检查!”

一款很“炸”的安卓UI自动化工具

测试脚本

上传测试用例脚本

一款很“炸”的安卓UI自动化工具

只可上传json格式的文档,上传其他格式文档报错提醒,报错信息同公用脚本

测试apk

上传目标应用apk包

一款很“炸”的安卓UI自动化工具

只可上传apk格式的文档,上传其他格式文档报错提醒,如下图所示

一款很“炸”的安卓UI自动化工具

测试设备

该处不填的情况,默认执行连接到电脑上的所有设备

只能填写设备id,设备id可通过指令"adb devices"取得

一款很“炸”的安卓UI自动化工具

目前只支持填写一个id;即只有运行一台和运行所有设备这两种选择

一款很“炸”的安卓UI自动化工具

程序会在执行前检查设备的连接状态,填入多个设备id时,会将填入的信息都当成一个设备id去检查,因为会报错“填入的设备号不在线,请检查设备连接!”

一款很“炸”的安卓UI自动化工具

辅助功能

一款很“炸”的安卓UI自动化工具

勾选该选项,表示目标应用的安装配置全部由本地的安装配置来执行,不从服务端获取设备信息;控制台信息如下:

一款很“炸”的安卓UI自动化工具

当安装配置文档中缺少目标设备的配置时,可以从服务端拉取配置信息的情况会从服务端进行安装引导,不能拉取的情况下则无法成功进行安装配置引导,控制台信息如下:

一款很“炸”的安卓UI自动化工具

 

一款很“炸”的安卓UI自动化工具

不配置该项的情况,安装配置从服务端自动拉取

一款很“炸”的安卓UI自动化工具

只可上传json格式的文档,上传其他格式文档报错提醒,报错信息同公用脚本

登陆

勾选该选项,展示账号密码输入框,填写规则为:账号和密码之间使用英文冒号间隔开,每行填写一个,账号数无限制。勾选了登陆选项必须填写账号密码且账号数与设备数需对应,否则运行时报错

一款很“炸”的安卓UI自动化工具

覆盖安装

勾选覆盖安装选项,展示公用脚本、测试脚本、测试apk和是否登录的选项

一款很“炸”的安卓UI自动化工具

脚本与apk上传规则如上,其中两个apk文件必须包名一致且旧包的版本要低于新包,否则报错

一款很“炸”的安卓UI自动化工具

登陆涉及到的状态如下:

  1. 只执行新包的登陆,则不勾选该选项
  2. 只执行旧包的登陆,即上述的登陆不勾选,只勾选该处的登陆选项,此时勾选该选项需展示账号密码输入框,输入规则同上,此时登陆输入框中的账号密码供旧包的登陆使用

一款很“炸”的安卓UI自动化工具

  1. 新包与旧包都要执行登陆操作,使用相同的账号密码,勾选上述的登陆且展示账号密码输入框,勾选该处的登陆选项但不展示账号密码输入框

一款很“炸”的安卓UI自动化工具

过度绘制

勾选该选项需在开发者模式中开启过度绘制功能

具体使用方法见api介绍文档

开始-结束按钮

  1. 开始:点击开始,要对apk、脚本、设备是否有连接进行判断,对于用户名简单过滤,判断账号数与设备数是否一致,点击开始后生成以Test_report+时间的报告,其中对覆盖apk要判断包名是否一致、版本是否小于当前测试的apk版本,所有的判断都通过后才开始执行
  2. 结束:点击了开始按钮之后,开始按钮灰化,结束按钮为可点击态,在没有执行正常结束过程中,点击结束按钮,无法正确生成测试报告,即手动中断程序执行,报告请点击是无法点击的。点击结束,所有进程结束,确定结束后,开始按钮才重新为可点击状态

报告

该项只有在正常结束运行后才可以点击,其他任何形式的结束执行都不可点击

一款很“炸”的安卓UI自动化工具

点击该按钮跳转至本地报告,报告内容请自行确认

一款很“炸”的安卓UI自动化工具

控制台

以时间顺序展示log

注:程序运行过程中如出现中文乱码的情况,需配置以下环境变量,重启电脑后可正常使用。变量名:JAVA_TOOL_OPTIONS,变量值:-Dfile.encoding=UTF-8

一款很“炸”的安卓UI自动化工具

配置该项环境变量可能会影响其他控制台的中文乱码情况,如出现需要自行删除该环境配置,需要的时候再自行添加

报告文档

在libs文件夹下,存储每一次运行的报告文档,报告文件夹命名方式为TestReport+运行时间

一款很“炸”的安卓UI自动化工具

文件夹以设备id直接命名,运行多台设备时,每台设备单独文件夹存放。

一款很“炸”的安卓UI自动化工具

从上之下分别为:

  • CaseImage文件夹:目标apk用例截图,文件夹内按每个用例一个文件夹区分用例,文件夹以用例名称命名
  • old文件夹:覆盖安装旧包运行用例截图,文件夹内按每个用例一个文件夹区分用例,文件夹以用例名称命名
  • screenshot文件夹:用例截图外的设备其他所有截图
  • ActivityInfo.txt:目标应用全部activity页面信息
  • AllLog.txt:Android logcat中的被测应用日志
  • CaseLog.txt:用例的执行情况,成功几条失败几条之类的信息
  • ErrorLog.txt:Android logcat中的被测应用的错误日志
  • index.html:打开该文件相当于点击报告中设备概况-查看详情,打开的是设备的详情报告
  • OtherLog.txt:与控制台输出的信息一致,存储执行的每一个步骤和执行情况,日志按时间顺序打印

安装包及测试脚本Demo下载地址如下:

 https://pan.baidu.com/s/1IaE0bbcFcEVS-ozlqrYwcw 

提取码:zxf7

 

以上是关于4399AT GUI界面版的使用说明。如有疑问可关注微信公众号“测试一般不一般”进行交流~

一款很“炸”的安卓UI自动化工具