App自动化测试

1.App自动化测试的技术体系

App自动化测试

 

 

 

2.Android SDK环境搭建与常用命令

Anddroid自动化测试前提条件是系统中有JDK环境,并且已经安装好Android SDK
Tools。此外,通常情况下,都是基于模拟器的自动化测试(除非做兼容性测试使用真机
环境),所以还需要配置或者安装安卓模拟器,这里不推荐使用Android Studio自带的
模拟器,因为模拟器性能比较低,推荐使用网易 MuMu 模拟器或者夜神模拟器。接下来,
先来讲解如何搭建整套环境。

2.1 Android SDK环境搭建

2.1.1 JDK环境

首先去官网下载JDK,一般下载JDK8就行,不用追求最新。下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html

App自动化测试

 

 然后进行安装,建议直接默认安装即可,安装步骤一直点下一步即可。如图所示

App自动化测试

 

 App自动化测试

 

 App自动化测试

 

 App自动化测试

 

 App自动化测试

 

 安装完成后,需要配置环境变量。

右键 This PC(此电脑) -> Properties(属性) -> Advanced system settings(高级系统设置) -> Environment Variables(环境变量)

App自动化测试

 

 App自动化测试

 

 App自动化测试

 

 App自动化测试

 

 App自动化测试

 

 输入: 变量名:JAVA_HOME 变量值:电脑上JDK安装的绝对路径

输入完毕后点击 OK。

App自动化测试

 

新建/修改 CLASSPATH 变量

如果存在 CLASSPATH 变量,选中点击 Edit(编辑)。

如果没有,点击 New(新建)... 新建。

输入/在已有的变量值后面添加:

变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

点击 OK 保存。

App自动化测试

 

 修改Path 变量:

App自动化测试

 

 新建两条路径:

%JAVA_HOME%\bin %JAVA_HOME%\jre\bin

App自动化测试

 

 配置完成后,进入控制台分别输入:java -version、java、javac进行验证。

2.1.2 Android SDK环境搭建 

首先下载并安装Android SDK。下载Android SDK Tools,下载地址http://www.androiddevtools.cn/

网站工具很多,找到SDK Tools这里,选择windows版本的SDK-tools,如图所示:

App自动化测试

 

 下载完成后,将压缩包解压即可。可以得到如下目录:

App自动化测试

双击SDK Manger.exe进行安装。

注意事项:

? 将android sdk解压到一个空间比较大的磁盘根目录,比如图中直接放在D盘根目录

? 不建议将压缩包放入的路径过深,尤其是不能放在中文文件夹里

App自动化测试

 

 勾选Accept License,然后点击Install即可。(Intel*相关插件可能会安装失败,忽略即可,基本用不到)

App自动化测试

 

 如果你网络不太好,可以更改镜像地址Tools -> Options

App自动化测试

 

 安装完成后,添加环境变量ANDROID_HOME。步骤更配置JDK一样。如图:

App自动化测试

 

 在系统变量 path 中添加分别变量值%ANDROID_HOME%\platform-tools和%ANDROID_HOME%\tools

App自动化测试

 Android SDK配置完成,接下来验证配置是否成功。 使用快捷键【windows】+【R】——输入cmd——回车——输入adb——回车,出现英文命令提示即可

 App自动化测试

2.2 常用adb命令(Android Debug Bridge)

2.2.1 连接模拟器 网易MuMu模拟器:

adb connect 127.0.0.1:7555 夜神模拟器:adb connect
127.0.0.1:62001 蓝叠模拟器:adb connect 127.0.0.1:5555 雷电模拟器:adb connect
127.0.0.1:5555

2.2.2其他常用基本命令

查看设备连接情况:adb devices 关闭adb后台进程:adb kill-server 启动adb进程:
adb start-server 建立TCP连接方式(脱离USB线):adb tcpip Android日志查看:
adb logcat 收集日志信息:adb bugreport

2.2.3 获取App相关信息

获取当前页面元素:adb shell dumpsys activity top 获取当前任务列表:adb shell
dumpsys activity activites

2.2.4 获取App入口

adb logcat | findstr -i displayed aapt dump badging NeteaseCloudMusic.apk |
findstr launchable-activity

3.Appium环境搭建与使用

因为Appium环境依赖node.js,所以先下载并安装node.js。下载地址:
https://nodejs.org/en/
选择LTS版本

直接一路下一步即可,在最后一步可以让安装程序自动添加环境变量,或者自己手动配置都可以。

环境变量的配置,跟JDK等类似,这里不再赘述。

接下来,再安装.net framework,否则安装过程中可能会报错,下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=30653

下载完成直接安装即可。

到现在为止,所有准备工作已经完成。

3.1 Appium简介 

Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,Android和Windows应用程序。

App自动化测试

 

 

 Appium生态链组成:

? adb:Android 的控制工具,用于获取 Android 的各种数据和控制

? Appium Desktop:内嵌了 Appium Server 和 Inspector 的综合工具

? Appium Server:Appium 的核心工具,命令行工具

? Appium Clients:各种语言的客户端封装库,用于连接 appium server

? Monkey等自动遍历工具

3.2 Appium Desktop使用 

Appium-desktop主界面包含三个菜单Simple,Advanced、Presets

Simple

host:设置Appium server的ip地址,本地调试可以将ip地址修改为127.0.0.1

port:设置端口号,默认是4723不用修改

start server:启动 Appium server

App自动化测试

 

 

 Advanced

高级参数配置修改,主要是一些Android和iOS设备,log路径等相关信息的配置。

App自动化测试

 

 

 Presets

将Advanced中的一些配置信息作为预设配置。

App自动化测试

 

 

 

Appium Desktop使用步骤:

第一步:启动模拟器与连接模拟器

打开mumu模拟器

然后命令行输入 adb connect 127.0.0.1:7555 连接模拟器  adb devices 查看已连接的设备

App自动化测试

 

 

 第二步:启动Appium Desktop,点击Start Server按钮即可。

App自动化测试

 

 

第三步:点击“放大镜”按钮,Start Inspector Session。

App自动化测试

 

 

 然后开始配置Desired Capabilities。

App自动化测试

 

 

 必填的几个参数:

platformName :声明是ios还是Android系统

platformVersion : Android内核版本号

appPackage :apk的包名

appActivity:apk的launcherActivity,通过命令adb shell dumpsys activity |

findstr mFocus查看,需要先启动App。

配置完成后,点击Start Session。Appium会自动调用模拟器的相关应用,如图:

App自动化测试

 

 

第四步:点击录制按钮,可以开始录制脚本

第四步:点击录制按钮,可以开始录制脚本

在选择页面某一个元素后,可以在窗口右边Selected Element区域有三个按钮

? Tap:执行选中元素的点击事件

? Send Keys:为文本框等对象传值

? 如果是文本输入元素,就清除文本

录制完成,我们可以选择要生成的代码,点击显示全部代码,复制脚本放入pycharm中,就可以运行啦。

App自动化测试

 

App自动化测试

上一篇:app性能测试指标


下一篇:Uni-app网络请求---uni.request