在这里,我还给大家推荐一套app自动化测试的视频,比文字内容更容易理解!
python+Appium自动化测试框架【项目实战合集】,轻松掌握app高级自动化测试_哔哩哔哩_bilibilipython+Appium自动化测试框架【项目实战合集】,轻松掌握app高级自动化测试共计12条视频,包括:1、App环境搭建、2、App自动化测试原理、3、App自动化之Desired Capabilites-Appium自动化配置项等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1uY411W7WL/” />
1、安装JDK并配置JDK的环境变量。
(1) JDK的下载
下载地址:
https://www.oracle.com/java/technologies/javase-downloads.html
下载版本选择主流的jdk1.8的版本:jdk-8u241-windows-x64.exe
(2) 配置JDK的环境变量:
我的电脑右键属性–>高级系统设置–>高级–>环境变量–>系统变量:
1、新建系统变量:
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_211 (这里是jdk的实际安装路径)
2、新建系统变量:
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar; (前面有一点和冒号不能少)
3、编辑PATH变量,在PATH的最后面添加:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(PATH中原来的路径不要去掉哦)
4、验证是否安装并配置成功:
在dos中输入javac和java -version验证。(分别出现一堆英文和jdk的版本信息则说明安装配置成功!)
如果基础太弱请点击:
https://blog.csdn.net/pengjiangchun/article/details/105419683 里面有很详细的步骤和截图!
2、安装SDK并配置SDK的环境变量。
(1) SDK的下载
下载地址:
http://tools.android-studio.org/index.php/sdk/
下载版本选择:
android-sdk_r24.4.1-windows.zip
(2) SDK的安装
进入D:\android-sdk-windows目录,双击SDK Manager.exe下载对应的包:
a.以下三个Android工具包必须安装:只需要下载最新的版本就行了。
b.Extras(附加设备)
c.安卓版本:安装和模拟器安卓版本一致的SDK。现在android 5开发的场景多一些
夜神模拟器查看Android版本:设置左边的三横->关于我们->Android版本
(3) 配置SDK的环境变量
我的电脑右键属性–>高级系统设置–>高级–>环境变量–>系统变量:
1、新建:
变量名:ANDROID_HOME
变量值:D:\android-sdk-windows (SDK的实际安装路径)
2、编辑PATH,在最后面添加:
%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\29.0.3;
(如果原来PATH路径最后不是;则加一个;再添加上面的内容)
3、验证是否安装并配置成功:
在dos中输入adb验证。在最上面出现Android Debug Bridge version版本信息,如下图表示成功!
3、安装夜神模拟器并在模拟器上安装被测app
(1) 夜神模拟器的下载
下载地址:https://www.yeshen.com/
版本选择:最新版
(2) 夜神模拟器的安装
下一步下一步傻瓜式安装。
(3) 被测app的安装
把apk包直接拖拽到夜神模拟中安装
(4) 设置模拟器/真机的环境
1.启用设备的开发者选项,启动调试功能。
夜神模拟器:设置->多次点击版本号直到出现提示【开发者选项】->返回上一步能看到【开发者选项】->USB调试。
2.输入命令前:因为SDK下的adb[在SDK安装目录的platform-tools目录下]和模拟器的nox_adb[在夜神安装目录的bin目录下]版本不一致,所以需要把SDK路径下的abd.exe复制到模拟器的bin路径下,重命名为nox_adb.exe,原来的nox_adb.exe先备份。
4.安装和配置Appium
(1) 下载和安装appium-desktop。
下载地址:(强烈建议使用迅雷下载)
https://github.com/appium/appium-desktop/releases
(2) 打开appium输入:127.0.0.1和4723登录,如下图:
如果此端口被占用:可以使用此命令检查端口是否被占用:netstat -ano | findstr 4723
(3) 配置Appium检查器:
A.Appium右上角有三个选项分别为:
start inspector session 开始检查回话(点击它)
Get Raw Logs 获得原生日志
Stop Server 停止服务
B.点击Automatic Server(自动化服务)
在Desired Capabilities选项中输入如下内容,如图:
deviceName:设备名称
获取方式:通过adb devices获取。输入adb devices后出现
值为:127.0.0.1:62001
platformName:操作系统名称
可填写:Android和IOS
值为:Android
platformVersion:操作系统版本
查看天天模拟器的anroid版本获取得到。
夜神模拟器查看Android版本:设置左边的三横->关于我们->Android版本
appPackage:包名
通过aapt.exe获取:aapt dump badging apk包的路径。
值为:找到package后面的值,一般在第一行。如:tv.danmaku.bili
appActivity:activity程序主入口
通过aapt.exe获取:aapt dump badging apk包的路径,
找到launchable-activity后面的值,如:
tv.danmaku.bili.ui.splash.SplashActivity
第一种可以取全部的值,第二种也可以只取包名以后的内容:
第一种值为:
tv.danmaku.bili.ui.splash.SplashActivity
第二种值为:.ui.splash.SplashActivity (注意:前面有个点不能省略)
保存后点击”Start Session”如出现:unkown… 错误,是因为模拟器中没有安装apk包。
如果正常在模拟器里启动app则表示appium自动化测试环境搭建成功!
三、工作原理
Appium的构成
- Appium 客户端 — java写的,运行在PC上,开启后就可以提供Appium服务。
- Appium 服务器 — Appium Server,运行在PC上,监听端口,发送指令到移动设备。
- 安卓模拟设备(Android SDK)– 运行在设备上,用来执行自动化操作。
Appium工作流程(Android为例)
- 测试脚本调用Appium Server提供的API,发送请求到Appium Server
- Appium Server接收到脚本的请求后,发送指令到手机设备
- 手机设备会安装一个Bootstrap.jar,作为中间件,会开启一个基于Appium服务的Socket,监听4724端口,将Appium Server发送的指令转为UIAutomator指令
- UIAutomator指令执行操作后,响应原路返回
Appium源码分析(Python为例)
我们打开Appium客户端后,会开启Appium Server服务,默认会去监听4723端口,此时,脚本会通过该端口去和Appium Server通信,这个通信过程本质上是脚本发送 HTTP request请求到Appium Server。由于我们的目的是要通过脚本去操作手机设备,所以需要把设备的一些信息告诉给Appium Server,则需要传入个字典参数,即 desired Capabilities,以下是该参数的可取值表。
当调用quit方法时,会关闭session所关联的窗口。需要获取实战视频可以私信我,发送555既可!