目录:导读

一、前言

二、Appium简介

三、搭建Appium+Python自动化测试环境

1、安装JDK并配置JDK的环境变量。

2、安装SDK并配置SDK的环境变量。

3、安装夜神模拟器并在模拟器上安装被测app

4.安装和配置Appium

四、Appium运行原理

五、总结


一、前言

对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功。appium 自动化测试是很早之前做的,一直想留下点什么,可是一直抽不出一块完整的时间来做这件事儿。现在终于有了。

反观各种互联网的招聘,移动测试已经成了主流,如果再不去学习移动自动化测试技术将已经追不上时代的赶脚!好了,废话不多说,进入正题!

二、Appium简介

appium是移动端最主流的开源自动化测试框架。开源,免费

跨平台:完全满足IOS和Android两个不同的系统以及H5的自动化测试。

Appium是基于Selenium来实现的

Appium是基于JDK+SDK环境来运行的。

Appium有Server版和Desktop版两种,2020年前者已经淘汰了。

三、搭建Appium+Python自动化测试环境

1、安装JDK并配置JDK的环境变量。

(1) JDK的下载

下载地址:Java Downloads | Oracle

下载版本选择主流的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的版本信息则说明安装配置成功!)

      如果基础太弱请点击:windows下安装jmeter? mac下安装jmeter? So Easy那多不是事!写给jmeter入门的朋友!_普通网友的博客-CSDN博客   里面有很详细的步骤和截图!

2、安装SDK并配置SDK的环境变量。

(1) SDK的下载

下载地址:Android 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) 夜神模拟器的下载

下载地址:夜神安卓模拟器-安卓模拟器电脑版下载_安卓手游模拟器_手机模拟器_官网

版本选择:最新版

(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。

下载地址:(强烈建议使用迅雷下载)

Releases · appium/appium-desktop · GitHub

(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运行原理

(1)自动化脚本向AppiumServer发送注册参数(URL,platformName, platformVersion,deviceName,appPackage,appActivity)

(2)AppiumServer将bootstrap.jar包放入手机端中

(3)手机端用bootstrap启动手机端口(4724),并将端口返回给AppiumServer(相当于建立好了通信连接)

(4)自动化脚本发送请求(操作或命令或动作)给AppiumServer

(5)AppiumServer将 请求解析并发送给bootstrap

(6)bootstrap将请求解析发给UIAutomator

(7)UIAutomator执行相应的操作并将结果返回给bootstrap

(8)bootstrap将响应结果返回给AppiumServer

(9)AppiumServer将响应结果返回到脚本

综上所述,个人认为AppiumServer像是一个请求者;bootstrap充当桥梁的角色,负责PC与电脑之间的通信;UIAutomator则是真正的执行者。

五、总结

如果你对此文有任何疑问,如果你觉得此文对你有帮助,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入

笔者:来自公众号:软测之家
出处:百里测试开发的博客_CSDN博客-全栈接口测试进阶实战,自动化测试领域博主
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

全网最全appium工作原理以及appium自动化测试环境搭建教程相关推荐

  1. Appium学习日记(一)——Appium工作原理及其主要组件

    Appium工作原理及其主要组件 Appium的工作原理(how Appium works)   Appium的核心是一个服务器,它侦听符合API规范WebDriver的传入HTTP请求.对于那些过去 ...

  2. Appium工作原理简介

    Appium工作原理 一.Appium简介 Appium是一个开源.跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持 iOS, Android 和 FirefoxOS 平台.Appium驱动苹 ...

  3. 【Appium】Appium工作原理

    参考:http://www.cnblogs.com/zhjsll/p/5698878.html 原作者写的很好,所以直接放在这里. 一.什么是Appium Appium是一个开源.跨平台的测试框架,可 ...

  4. python自动化测试之Appium自动化测试环境搭建

    [文章末尾给大家留下了大量的福利] 前言: 好几个小伙伴在问appium环境搭建咋整勒,这不就整出来了嘛,接下来几篇文章就把常用的所有的环境搭建都写完把 Appium 介绍 Appium是一个开源工具 ...

  5. 2020年全网最全最细最流行的自动化测试工具有哪些?

    目录:导读 一:前言 二.2020年自动化测试工具(框架)分类统计 1.Selenium 2.RobotFramework 3.Appium 4.QTP(UFT) 5.其他常见的自动化工具汇总 三.总 ...

  6. Appium appium+python+jenkins 一套自动化测试框架搭建

    转载:https://testerhome.com/topics/9879 本篇主要讲: appium框架的搭建与真机环境配置 安装 brew install node 想要生效首先必须先安装home ...

  7. python--安卓APP自动化测试环境搭建(Appium+夜神模拟器)

    0.前言 看了很多自动化测试入门的课程,还是B站白月黑羽讲的最详细 从环境搭建到常用功能,讲的都比较详细 由于没什么项目实践,就简单写了一个什么值得买APP自动签到脚本 后期打算买个树莓派,把整个环境 ...

  8. Appium自动化测试环境搭建

    1.安装java,并配置环境变量 2.在eclipse配置SDK开发环境,安装testNG,导入jar包 3.安装nodejs 4.安装和启动appium 5.第一个appium程序 5.1.在ecl ...

  9. Appium+Python移动端(Android)自动化测试环境搭建原来没有那么难!+ 带你实战去

    Appium 是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应 用,且是跨平台的.可用于 ios 和 Android 操作系统. Appium+Python 一.前提 1.1 JD ...

最新文章

  1. excel公式编辑器_职场办公技巧—Word公式编辑器怎么用
  2. mysql主从以及读写分离(科普)
  3. BAT资深算法工程师《深度学习》读书分享:概率和信息论
  4. Linux--结构体的详细学习
  5. [家里蹲大学数学杂志]第236期钟玉泉复变函数论前六章第二组习题参考解答
  6. 三分钟让你掌握JavaScript中值传递和引用传递的区别
  7. bootstrap table 表格支持shirt 多选_bootstrap-table 表格行内编辑实现
  8. react dispatch_梳理下redux、mobx 在react的应用
  9. FTP 编写 4:命令解析
  10. 《软件需求工程》 读书笔记之二
  11. matlab——diff函数
  12. 程序设计导引及在线实践之显示器
  13. [转]coolfire黑客入门教程系列之(四)
  14. Docker微服务-镜像构建交付和使用rancher进行容器创建管理
  15. 获取手机唯一标识插件_H5能获取到手机设备ID或者手机浏览器唯一识别码吗
  16. OpenFaceswap 入门教程(1):软件安装篇
  17. 如何将已有图片做成透明水印_如何用Photoshop在图片上添加透明水印?
  18. ChatGPT OpenAI 人工智能语言处理工具
  19. Android MediaCodec硬编兼容性测试方案
  20. 博士申请 | 香港中文大学(深圳)李彤欣老师课题组招收全奖博士/博后

热门文章

  1. 罗马复兴各民族兵种详细参数——腓尼基篇
  2. linux中用rm删除的文件如何恢复
  3. CSS animation动画效果实现精灵图、雪碧图动画,多动画应用
  4. UI设计全家桶(上)
  5. asis2016_b00ks
  6. python实现淘宝定时抢购简易版
  7. 2.9 维数与秩(第二章 矩阵代数)
  8. DNS服务器在因特网中起什么作用,网络协议dns的作用是什么
  9. 多个堆糖生活家作品把GIF动态图片都下载到同一目录的方法
  10. python 文件存在但是一直说找不到_为什么显示的文件在相应的磁盘里却找不到...