手机端自动化(Android端)

目录

1:简介

2:手机自动化架构

3:手机 运行前置环境

4:基于appium框架 + Java语言

5:触发运行

6:生成报告

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

8:钉钉消息通知

9:自动化报告展示


1:简介

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

2:手机自动化架构

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

手机端自动化(Android端)_第1张图片

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的静态文件目录,然后服务器地址进行访问。

手机端自动化(Android端)_第2张图片

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则艾特通知负责人查看。并支持点击报告地址跳转到报告页面;

手机端自动化(Android端)_第3张图片

9:自动化报告展示

        手机端自动化(Android端)_第4张图片

问题记录:

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

              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 [email protected] --chromedriver-skip-install

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

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

你可能感兴趣的:(java,测试,android,android,自动化,java)