IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 手机端自动化(Android端) -> 正文阅读

[系统运维]手机端自动化(Android端)

目录

1:简介

2:手机自动化架构

3:手机 运行前置环境

4:基于appium框架 + Java语言

5:触发运行

6:生成报告

7:appium使用脚本启动客户端

8:钉钉消息通知

9:自动化报告展示


1:简介

????????随着手机的普及,各大网站或者产品都在往移动方向转战。现在已经是人手一部手机,不管何时何地,点击几下手机就能完成很多操作。所以对我们普通的测试人员来说,移动测试所占的比重会越来越重,随着企业手机端软件版本更新迭代的速度,对其手机端自动化随机运行,覆盖大部分功能用例,来保证手机 app功能的质量。

2:手机自动化架构

开发自动化时首先想明白架构,如何触发运行、运行逻辑如何、报告格式、报个保存等等功能点。

3:手机 运行前置环境

前提条件,服务器中已搭建android自动化环境。

android自动化环境:java、nodejs、appium、androidSDK......等

环境中连接上手机并能识别到手机。

4:基于appium框架 + Java语言

????????通过appium框架 + Java语言编写代码实现手机端自动化。较为常见的手机端自动化普遍通过测试人员编写测试用例,然后通过代码编写实现固定的场景实现用例。但此做法有一个弊端,随着企业app更新迭代的高效率,功能场景改动的较快需要人员长期进行维护,维护成本较高。

????????为此我们通过代码实现循环遍历的方式,让其app自动运行。通过循环各个页面的组件,进行点击跳转并通过集合对其进行标记,实现自动运行app覆盖80%功能点。(代码逻辑较为复杂,此次只讲述大概的方向)

5:触发运行

? ? ? ? app循环遍历运行的逻辑编写好以后,我们通过调用接口的形式来触发自动化的运行。

? ? ? ? 接口案例:

??????http://10.1.5.245:8085/auto/asynctask/startTask?apkPath=JuZiFenQi.apk&isInstall=true

? ? ? ? ? ? ? ? ?参数:

?????????????????????????????apkPath为apk名称,apk路径必须上传到服务器?/app/software/appSaveApk/ 目录下,apk名称尽量更换为?JuZiFenQi.apk ,因为定时任务中写的名称是此名称。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?isInstall为是否重新安装app,true则进行卸载后重新安装,false不进行卸载安装,运行当前安装的app

接口返回:? ?

{
????"status":?200,
????"msg":?"前端自动化启动成功",
????"data":?{
????????"taskId":?"autoApp",
????????"status":?"RUNNING",
????????"startTime":?"2021-09-14T02:43:59.001+0000",
????????"endTime":?null,
????????"totalTime":?null
????}
}

6:生成报告

? ? ? ? 使用freemarker模板,通过渲染数据生成静态文件报告,存放到nginx的静态文件目录,然后服务器地址进行访问。

7:appium使用脚本启动客户端

? ? ? ? 脚本为:

????????BUILD_ID=dontKillMe #防止执行脚本被杀死
ps -ef |grep appium |grep -v grep |awk '{print $2}' |xargs kill -9 ?#杀已经启动的appium
#nohup appium --address 127.0.0.1 --port 4723 --session-override --platform-name Android --platform-version 25 --automation-name Appium --log-timestamp --local-timezone --no-reset ?>> appium.log 2>&1&?
nohup appium --log-timestamp ?>> appium.log 2>&1&
#后台运行appium服务,并把appium日志保存在文件中
?

8:钉钉消息通知

? ? ? ? 当app自动化运行完毕后,在测试群中进行报告发送,若遇到bug则艾特通知负责人查看。并支持点击报告地址跳转到报告页面;

9:自动化报告展示

????????

问题记录:

????????安装前端自动化环境相关软件记录、问题记录等

? ? ? ????????nodejs安装路径:/opt/node-v14.17.6-linux-x64

? ? ? ????????androidSDK安装路径:/app/software/android-sdk

? ? ? ????????JDK安装位置:/usr/java/jdk1.8.0_161

? ? ? appium通过命令行安装:

? ? ? ? ? ? 卸载命令:npm uninstall -g appium

? ? ? ? ? ? 安装命令:npm install -g appium@1.12.1 --chromedriver-skip-install

? ? ? ? ? ? appium相关版本运行时有问题(自行解决),

????????????问题地址:appium安装说明简易版 - 环境配置 - 测试人社区

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-23 01:01:37  更:2022-06-23 01:02:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:10:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码