소스 검색

add readme

LiHaoyu 4 년 전
부모
커밋
8f53b85664
1개의 변경된 파일79개의 추가작업 그리고 0개의 파일을 삭제
  1. 79 0
      README.MD

+ 79 - 0
README.MD

@@ -0,0 +1,79 @@
+# 慕测安卓应用自动化测试中台系统
+系统说明:本系统为部署在安卓机柜上的系统,为企业版or教育版提供自动化测试服务。
+##使用方法
+###编译
+1. 在根目录执行mvn clean install package命令即可
+2. 编译结果位于target/android_auto_test-0.0.1-SNAPSHOT.jar
+###执行
+1. 将上述jar包放于根目录(和src,lib,Commands等文件夹同级)
+2. 执行java -jar xxx.jar即可
+3. 所有文件夹中的文件不要轻易删除,很多都是依赖文件以及配置文件。
+###环境说明
+1. 本项目为SpringBoot项目,组件均已在mvn中配置,可直接编译执行。
+2. lib文件夹下aapt工具不同系统有不同的版本,请使用部署的操作系统中安卓环境的aapt工具
+3. 测试方法,到lib目录中,执行./aapt,观察结果
+4. 如无法使用,请在lib文件夹中创建lib文件夹,将缺少的依赖放进去即可(大部分都是.so文件)
+###服务器环境要求
+1. 服务器中应有redis实例,端口6379,建议使用docker部署
+2. 服务器中应有完整的appium环境,具体搭建指南请Google。或者使用慕测全家桶Linux环境。
+3. 建议使用Appium1.7.2,如需更新(如需要使用一些新特性),使用npm命令即可,但是由于AppiumServer有些版本存在Bug,所以不保证更新后系统的稳定性。
+4. 使用前请使用adb devices命令查看可用设备,如无可用设备,系统也没啥意义。
+
+##项目目录说明
+###src
+源代码包,懂得都懂
+###Commands
+打包好的一系列shell脚本,具体功能看名字即可
+###configs
+配置文件目录,执行测试期间需要读取,默认的三个请不要删除。
+比较重要的是ignore和login。
+* ignore为忽略的组件配置文件,报告equals、startWith、contains三种匹配模式,可以匹配ID和text
+* login为输入框输入内容寻找的配置文件
+###lib
+主要就是apkUtil工具和aapt工具
+###scripts
+执行的自定义脚本的存放目录
+###tasks
+任务数据以及分析工具的存放目录
+
+* 文件夹:文件夹名为任务ID,里面存放着任务数据
+
+- bb2h.jar:众包需求生成工具
+- BugReport.jar:Bug报告生成工工具
+- 其他:BugReport工具使用的文件
+
+### tasks中任务数据说明
+
+* ApkInfo.log:apk的基本信息以及任务的开始结束时间
+* xxx.apk:apk文件本身
+* reportData.json:生成的报告数据
+* 文件夹:名字是设备ID,内容是每一台设备的数据
+  * AppiumLog.log:Appium日志
+  * Battery, Cpu, Memory, Network, SM.log:电池、CPU、内存、网路、刷新率日志,格式为list
+  * CoverInstall.log:覆盖安装日志,内容为adb命令的标准输出
+  * DeviceExecInfo:设备执行数据,格式为{xxx}=yyy
+  * DeviceInfo:设备物理信息
+  * ExceptionLog:AppiumServer的异常日志
+  * ExecError:本项目手动写入的异常日志
+  * Install:安装日志,内容为adb install命令的输出
+  * Launch:启动日志
+  * Logcat:设备的Logcat日志
+  * scriptExecuteResult:脚本执行结果,1是执行成功,0是失败,没有内容就是没执行脚本
+  * TestAction:格式化测试操作日志,只有默认脚本会记录,自定义脚本不会记录
+  * TestLog:测试过程中的一些操作的日志记录,非格式化的,用于debug
+  * TestScript:默认脚本执行的操作的java语言化,理想状况下可以执行,恢复脚本的流程
+  * Uninstall:卸载日志,adb uninstall的输出
+  * 文件夹pageImg:每一个activity的截图
+  * 文件夹pageSource:DFS过程中xml布局文件的临时目录,-1开头是临时的,其余的都对应着DFS的层数
+  * 文件夹pageXml:每一个activity的xml布局文件
+  * 文件夹ScreenShots:测试截屏,2s一次,命名规则是{deviceUdid}_{timestamp}
+
+
+
+## 新工具添加说明
+
+本系统支持添加新的分析工具,现对工具要求进行说明
+
+1. 工具的调用形式为java -jar tool.jar 1234。1234为tasks下的任务ID。由于工具默认放于tasks下,所以工具本身可以默认认为,1234位自己根目录下的一个文件夹名
+2. 工具输出应固定位reportData.json,输出目录为1234文件夹里面,与apk文件同级,这样系统才可以找到并上传
+3. 如果工具为二次分析工具,即需要对reportData的内容进行修改或者读取,则输出的报告位置不变,json文件名应与工具名一致