Android自动化巡检环境搭建
2024-01-03 16:33:57
Android自动化巡检
一、环境配置
1、jdk配置
- 下载jdk解压
- 新增环境变量
JAVA_HOME D:\tool\jkd1.8 #jdk安装路径
CLASSPATH ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar"
- PATH配置
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
2、python环境配置
- 安装python
- 安装Pycharm
3、android sdk配置
- 下载sdk配置系统环境变量
- 新增变量ANDROID_HOME
ANDROID_HOME D:\tool\Android\android-sdk
- PATH配置
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
4、node配置
- 安装node.js
- PATH配置 node安装目录
5、allure配置
- 环境变量PATH配置新增
- 将allure下bin文件配置到环境变量
D:\python\allure-commandline-2.9.0\allure-2.9.0\bin
6、scrcpy录屏工具配置
- 测试报告中可配置录屏附件
- 环境变量PATH配置新增
D:\tool\scrcpy_871759\scrcpy_v2.1.1_64bit_portable\scrcpy_v2.1.1_64bit_portable
7、appium配置
- 安装Appium-windows-1.15.1.exe 客户端版本 可查询app页面元素进行调试 或者安装 Appium服务端版本 命令行版本
- 选择安装位置自定义安装
- 要求程序运行时启动appium服务
8、模拟器安装
如果需要开启webview 可切换其他模拟器如夜神 雷电等等 mumu模拟器暂时未找到开启webview方法 一开始可不选择mumu模拟器
- 模拟器选择 当前项目使用mumu模拟器
- 当前项目未使用webview页面元素,都是android原生页面,未做特殊配置,如需要使用webview页面需要打开webview的debug模式。
- 对于webview页面要求
- 1.android版本等于低于6.0 默认开启
- 2.开发打包时一打开webview开关,生成测试包
- 3.使用xposed框架+WebViewDebugHook 模块 强制开启,目前xposed框架只支持android7.0 32bit的app 可以使用夜神模拟器 64bit的app暂时不支持
- 安装mumu模拟器
- 安装启动之后 cmd运行 adb connect 127.0.0.1:7555 将模拟器与adb进行连接
- 运行adb devices 查询当前已连接设备
- 将需要自动化运行的apk安装至模拟器 adb install xx.apk
二、项目配置
1、python项目设置虚拟环境,迁移至另一台机器:
- 1.安装相同版本的python环境(直接在pycharm中project interpreter,版本识别会出错,需要进行下一步操作) 当前项目使用版本为3.7.7
- 2.python项目venv目录下,修改pyvenv.cfg文件,其余配置都删除
home = 本机python安装目录
include-system-site-packages = false
version = 本机python安装版本
2、目录结构
- base
* basepage 底层元素封装
* xx_app 业务app定制配置 保护登录操作等
- chromedriver webview页面需要使用的driver驱动
- images
- logs
- page
* mainpage.py 页面元素对应操作 根据po模式 可新增页面
* mainpage.yaml 页面元素
- report 测试报告
- scrcpy app录屏工具 需要配置环境变量
- testcase 测试用例
- utils
- config.json app启动配置项
- config.yaml 数据库 接口、邮件告警配置
- conftest.py 需要录屏附件 使用时将autouse=True
- main.py 启动文件
- start.bat 启动文件
3、项目运行步骤
- 1、运行appium
- 2、启动mumu模拟器
- cmd运行 adb connect 127.0.0.1:7555
- adb devices 获取设备id
- 3、修改项目的config.json 中的设备id与包名
- 4、运行main.py 或 启动start.bat 文件运行
- 5、测试报告最终生成在report/allure下
4、自动化巡检告警配置
- 十分钟运行一次脚本 jenkins配置时间 每次运行有失败用例都会发生邮件告警
- 告警创建 进行时间判断 上一次失败时间与当前时间是否已经过去一小时 已经过去一小时 调用告警接口获取告警id 数据库新增一条告警记录 状态为1 成功状态0 失败状态1
jenkins配置
1、新建jenkins执行机节点
- 执行机节点中配置好运行环境
2、新建自由风格项目
- 执行节点选择已经配置好的节点
- 关联远程代码仓库
- 构建触发器 - 定时构建
- 每隔10分钟构建一次 H/10 * * * *
- 选择执行windows批处理命令
- 方式一: python mian.py
- 方式二: start start.bat
- 构建后操作选择allure
- Path: report/xml
- 选择高级 Report path: report/allure
adb connect 127.0.0.1:7555 mumu模拟器连接
{
"platformName": "Android",
"deviceName": "KVJF6XZ9PVYHDIR8",
"udid": "KVJF6XZ9PVYHDIR8",
"appPackage": "com",
"appActivity": "com",
"skipDeviceInitialization": "true",
"autoGrantPermissions": "true",
"noReset": "true"
}
# adb shell dumpsys window | findstr mCurrentFocus 获取当前最顶端的包名和活动名
文章来源:https://blog.csdn.net/weixin_43936332/article/details/131961604
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!