appium--环境搭建

简介: appium--环境搭建

前戏


Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。Appium对IOS系统的支持得益于Dan Cuellar’s对于IOS自动化的研究。Appium也集成了Selendroid,来支持老android版本。

Appium支持Selenium WebDriver支持的所有语言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure,或者Perl语言,更可以使用Selenium WebDriver的Api。Appium支持任何一种测试框架。如果只使用Apple的UIAutomation,我们只能用javascript来编写测试用例,而且只能用Instruction来运行测试用例。同样,如果只使用Google的UIAutomation,我们就只能用java来编写测试用例。Appium实现了真正的跨平台自动化测试。

appium选择了client-server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是appium及webdriver如何做到支持多语言的;


工作原理


Android

在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试。

UiAutomator测试框架是Android SDK自带的App UI自动化测试Java库。

另外由于UiAutomator对H5的支持有限,appium引入了chromedriver以及safaridriver等来实现基于H5的自动化。

appium 在android端工作流

  • client端也就是我们 test script是我们的webdriver测试脚本。
  • 中间是起的Appium的服务,Appium在服务端起了一个Server(4723端口),跟selenium Webdriver测试框架类似, Appium⽀持标准的WebDriver JSONWireProtocol。在这里提供它提供了一套REST的接口,Appium Server接收web driver client标准rest请求,解析请求内容,调⽤用对应的框架响应操作。
  • appium server会把请求转发给中间件Bootstrap.jar ,它是用java写的,安装在手机上.Bootstrap监听4724端口并接收appium 的命令,最终通过调⽤用UiAutomator的命令来实现。
  • 最后Bootstrap将执行的结果返回给appium server。
  • appium server再将结果返回给 appium client。

 

iOS

在IOS端,appium同样使⽤WebDriver的一套协议。

与Android端测试框架不同的是,appium ios封装了apple的 Instruments框架,主要用了Instrument里的UI Automation(Apple的⾃自动化测试框架),然后在设备中注⼊入bootstrap.js进⾏行监听。

appium 在ios端工作流

  • client端 依然是 test script是我们的webdriver测试脚本。
  • 中间是起的Appium的服务,Appium在服务端起了一个Server(4723端口),跟selenium Webdriver测试框架类似, Appium⽀持标准的WebDriver JSONWireProtocol。在这里提供它提供了一套REST的接口,Appium Server接收web driver client标准rest请求,解析请求内容,调⽤用对应的框架响应操作。
  • appium server调用instruments.js 启动⼀一个socket server,同时分出一个⼦子进程运⾏instruments.app,将bootstrap.js(一个UIAutomation脚本)注⼊入到device⽤于和外界进行交互
  • 最后Bootstrap.js将执行的结果返回给appium server
  • appium server再将结果返回给 appium client。


环境搭建


不得不说,appium的环境搭建确实是一个比较麻烦的事情,有很多初学者才学app自动化的时候,就死在了环境搭建上。我自己当初也搭建了两天才搭建成功,以下方法是我自己搭建环境时总结的步骤,并不一定适合别人(仅供参考)。

我的系统是win10

 

上面的是我们需要安装的一个整体流程图

1、appium环境需要appium的一个安装包

2、我们针对android进行测试需要android本身的一个android 的sdk

3、android 这个本身就是java基础上的,我们需要配置java 的jdk

4、appium是node.js开发的,他的依赖就是node.js的安装包

5、我们既然要做自动化是不是需要选择一个开发语言、那么我们要把python给安装好

6、python如何和appium之间进行交互呢?那么我们需要一个appium-python-client的一个第三方扩展包

7、工欲善其事必先利其器,我们是不是要选择一个好的代码编辑ide,pycharm是我的最爱


安装Node.js


java jdk的安装我就不在这里详细的介绍了,相信大家都会安装,安装好配置环境变量,输入java来验证

Node.js下载地址:https://nodejs.org/en/download/releases/

msi是windows下的安装包

 

在cmd下输入:node -v和npm -v来验证

 

 

Android SDK的安装


官网下载:

https://android-sdk.en.softonic.com/download

安装sdk首先要安装java的jdk环境(java的jdk10检测不到,所以我将10降为了8)

下载完之间下一步安装就可以了

下载完打开 SDK Manager.exe下载工具,默认勾选的全部下载,要一个一个的接受


配置sdk的环境变量:


新建 ANDROID_HOME 值为SDK的安装目录

添加path路径(三个)

验证环境变量是否配置成功

cmd下输入:adb和aapt命令


Appium安装


appium Server其实可以通过命令npm install -g appium安装,但是由于社会主义原因,直接安装可能会失败,所以我们可以通过镜像来安装

npm install -g cnpm --registry-https://registry.npm.taobao.org  (安装固定的版本:cnpm install appium@1.7.2 -g)

安装完成之后在cmd下执行where appium查看安装路径

where appium

appium -v查看版本

 

我们也可以通过appium官网下载安装appium

appium客户端安装:

官方下载:http://appium.io/  比较慢

 

安装Appium-python-client


直接执行pip install Appium-Python-Client

验证是否安装成功


MAC下的安装


安装node.js


官网:https://nodejs.org/en/download/current/

下载完下一步下一步就行

node -v和npm -v来验证


相关文章
|
4月前
|
JavaScript Java 测试技术
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
634 0
|
3月前
|
JavaScript Java 开发工具
Python+Appium2.0的APP自动化环境搭建
Python+Appium2.0的APP自动化环境搭建
112 0
|
9月前
|
JavaScript 数据可视化 Java
|
Java 测试技术 开发工具
自动化测试 Appium之Python运行环境搭建 Part2
自动化测试 Appium之Python运行环境搭建 Part2
92 0
|
JavaScript Java 测试技术
自动化测试 Appium之Python运行环境搭建 Part1
自动化测试 Appium之Python运行环境搭建 Part1
71 0
|
JavaScript Java 测试技术
App自动化测试|Appium+Python自动化测试环境搭建(Windows)
App自动化测试|Appium+Python自动化测试环境搭建(Windows)
165 0
App自动化测试|Appium+Python自动化测试环境搭建(Windows)
|
jenkins Linux Shell
软件测试|一键搞定centos7的docker+selenium+appium+jenkins+android_app源码打包成apk的环境搭建
软件测试|一键搞定centos7的docker+selenium+appium+jenkins+android_app源码打包成apk的环境搭建
140 0
|
JavaScript Oracle Java
Python+Appium自动化测试(1)-appium环境搭建
用python+appium做appUI自动化测试,系统为Windows。首先是JDK与Android SDK的安装与环境变量的设置。
Python+Appium自动化测试(1)-appium环境搭建
|
JavaScript Java 测试技术
App自动化测试之Appium环境搭建
Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。
App自动化测试之Appium环境搭建
|
测试技术 iOS开发 Python
Appium+Python3+iOS真机环境搭建
前言: Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用。 本次环境配置相关: macOS:10.
1990 0