[604]python Appium的安装及连接模拟器和真机详细版

appium介绍

Appium是移动端的自动化测试工具,类似于前面所说的Selenium,利用它可以驱动Android、iOS等设备完成自动化测试,比如模拟点击、滑动、输入等操作,其官方网站为:http://appium.io/。本节中,我们就来了解一下Appium的安装及使用。

相关链接

安装Appium

Appium负责驱动移动端来完成一系列操作,对于iOS设备来说,它使用苹果的UIAutomation来实现驱动;对于Android来说,它使用UIAutomator和Selendroid来实现驱动。

同时Appium也相当于一个服务器,我们可以向它发送一些操作指令,它会根据不同的指令对移动设备进行驱动,以完成不同的动作。

安装Appium有两种方式,一种是直接下载安装包Appium Desktop来安装,另一种是通过Node.js来安装,下面我们介绍一下这两种安装方式。

Appium Desktop

Appium Desktop支持全平台的安装,我们直接从GitHub的Releases里面安装即可,链接为https://github.com/appium/appium-desktop/releases。目前的最新版本是1.12.1,下载页面如图所示。

Windows平台可以下载exe安装包appium-windows-1.12.1.exe,也可下载appium-desktop-1.12.1-x64.nsis.7z,直接解压即可使用,Mac平台可以下载dmg安装包如appium-mac-1.12.1.dmg,Linux平台可以选择下载源码,但是更推荐用Node.js安装方式。

安装完成后运行,看到的页面如图所示。

如果出现此页面,则证明安装成功。

Node.js安装

首先需要安装Node.js,具体的安装方式可以参见http://www.runoob.com/nodejs/nodejs-install-setup.html,安装完成之后就可以使用npm命令了。

接下来,使用npm命令全局安装Appium即可:

npm install -g appium

此时等待命令执行完成即可,这样就成功安装了Appium。

Appium启动服务并连接模拟器和真机方案

appium依赖

appium连接模拟器或真机需安装一下依赖

依赖JDK(最新版的SDK与JDK8兼容,与JDK10不兼容)

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

添加环境变量

JAVA_HOME:D:\soft\java\jdk

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

依赖Android SDK

下载地址:http://www.androiddevtools.cn/ 选择SDK Tools

安装成功后添加环境变量:

ANDROID_HOME:D:\soft\android-sdk-windows

%ANDROID_HOME%\tools
%ANDROID_HOME%\tools\bin
%ANDROID_HOME%\platform-tools

依赖的adb,Build-Tools和SDK推荐通过SDK Manager安装

如果通过这种方式安装了,下面相应的就不用重复安装了

image.png

双击运行SDK manager.exe,Android SDK Manage负责下载或更新不同版本的SDK包,默认安装的Android SDK Manager只安装了一个版本的sdk tools。

启动SDK Manager,如图所示:

几个必须要安装的,Tools文件夹里面的Android SDK Tools,然后就是Android SDK Platform-tools和Android SDKBuild-tools,只需要下载最新的版本。

然后就是API的选择了。因为Android是向下兼容的。所以只选择了下载当前最新的Android API。如果以后不打算用模拟器调试,而是一直用真机来调试的话,那么就可以不用装“system images“了。

最后就是extras文件夹中的东西了,如下图所示,

extras中的东西可以只安装上图中的三个,即Android Support Repository、Android SupportLibrary和Google USB Driver。

接下来就可以进行安装了。要注意,由于这些东西都是在google 的服务器上下载的。所以可能出现连接不上的情况,如下图:

这种时候,我们可以通过有Android SDK的国内镜像服务器来下载安装,这里推荐几个:

1、中科院开源协会镜像站地址:

IPV4/IPV6 :https://mirrors.opencas.ac.cn 端口:80

2、北京化工大学镜像服务器地址:

IPv4: https://ubuntu.buct.edu.cn/  端口:80
IPv4: https://ubuntu.buct.cn/  端口:80
IPv6: https://ubuntu.buct6.edu.cn/  端口:80

3、大连东软信息学院镜像服务器地址:

https://mirrors.neusoft.edu.cn  端口:80

这里我选择的是大连东软的镜像,使用方法如下:

首先,点击菜单中的“Tools”,然后选择下拉中的“Options…”,

然后在弹出的对话框中,填写HTTP Proxy Server为mirrors.neusoft.edu.cn(镜像服务器的地址,注意前面不要加http),然后填写HTTP Proxy Port为80 (端口号)。最后在勾选下面的Forcehttps://... sources to be fetched using https://...复选框,如下图所示

接着点击close,关闭对话框,再重新启动SDK Manager就行啦。

下载安装过程后,之前选中安装的项目后面的状态都由之前的“Not installed”变为了如今的“Installed”,这就表示我们已经安装成功了!

然后我们可以检验一下Android SDK是否安装成功:在命令行窗口中输入”adb version“,出现如下显示,则安装成功了:

依赖adb

下载:http://www.androiddevtools.cn/ 选择platform-tools,解压到sdk安装目录下

添加环境变量:%ANDROID_HOME%\platform-tools

注意:在platform-tools里也有adb.exe,所以安卓sdk的环境变量要在模拟器的上面,才会使用安卓的SDK

依赖Build-Tools

这是Android开发所需的Build-Tools,下载并解压后,将解压出的整个文件夹复制或者移动到 your sdk 路径/build-tools 文件夹即可。

下载地址:https://www.androiddevtools.cn/

依赖SDK

这是Android开发所需的sdk,下载并解压后,将解压出的整个文件夹复制或者移动到 your sdk 路径/platforms文件夹,然后打开SDK Manager,打开 Tools(工具)菜单选择 Options(选项)菜单项打开Android SDK Manager Setting对话框,点击 Clear Cache(清除缓存)按钮,然后重启Eclipse(或Android Studio)和SDK Manager。

连接模拟器和真机不同方案

如果你已经搭建好Appium的环境后,接下来想对一款APP的进行自动化测试的话。那么首先得让appium连接你的模拟器或者真机。才能开展测试。本文尝试用不同的方式搭建连接。以适应不同人群的选择。希望有一种方法能够适合你。

关于如何使用Mumu模拟器连接电脑adb

网易的Mumu模拟器算是比较好用的,安装之后想要连接Android studio必须要配置一下:

第一步:在Mumu的安装目录下找到adb_server.exe,双击运行,具体目录如下:
image.png

第二步:我这里没有在系统环境上配置adb,所以先进入自己当前电脑下XX\Android\sdk\platform-tools的目录,XX是自己放Android目录的路径;

第三步:shift+鼠标右键选择在此处打开命令窗口,也可以在cmd直接cd进入当前目录;

第四步:在cmd上 执行 adb connect 127.0.0.1:7555,然后再执行 adb devices

断开设备连接

adb kill-server //结束adb服务
adb start-server //启动adb服务
adb devices //获取adb设备列

这样在Android studio上就可以发现mumu模拟器了

Appium连接夜神模拟器

有时候我们可能不太想用真机或者android sdk中自带的模拟器。而是使用一些三方的android模拟器。例如夜神,逍遥等等

理论上来说可以使用连接真机的方式一样来尝试连接。以下案例使用夜神模拟器来做演示

首先将模拟器的安装路径C:\soft\ysmnq\Nox\bin,bin目录添加到环境变量path中,在这个bin目录里,有adb.exe 和 nox_adb.exe

C:\soft\ysmnq\Nox\bin>adb.exe version
Android Debug Bridge version 1.0.36
Revision 0e9850346394-android

C:\Users\WYXCz>nox_adb version
Android Debug Bridge version 1.0.36
Revision 0e9850346394-android

上边这些是模拟器的version

通过adb查看连接设备;在cmd终端中输入adb devices查询

如果模拟器未开启

C:\Users\WYXCz>adb devices
List of devices attached

如果模拟器开启

C:\Users\WYXCz>adb devices
List of devices attached
127.0.0.1:62001 device

此时是模拟器的adb 自动连接,并不是安卓的adb连接的。

1)使用安卓的adb连接到夜神模拟器 
连接方式是:nox_adb.exe connect 127.0.0.1:62001

如果模拟器未开启

C:\Users\WYXCz>nox_adb.exe connect 127.0.0.1:62001
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
unable to connect to 127.0.0.1:62001:62001

C:\Users\WYXCz>adb devices
List of devices attached

下面开启模拟器

C:\Users\WYXCz>nox_adb.exe connect 127.0.0.1:62001
adb server version (32) doesn't match this client (36); killing...
* daemon started successfully *
unable to connect to 127.0.0.1:62001: cannot connect to 127.0.0.1:62001: 由于目标计算机积极拒绝,无法连接。 (10061)

这里是因为安卓的SDK的adb版本和模拟器的版本不一致导致的,

C:\Users\WYXCz>adb version
Android Debug Bridge version 1.0.32

解决办法:
a、关掉模拟器。同时去任务管理器里看下,adb.exe以及nox_adb.exe这2个进程有没有在运行?有的话就结束掉。
b、找到SDK的目录和夜神模拟器的目录,将SDK目录下的adb.exe文件,复制到夜神模拟器的目录下,因为夜神模拟器目录下原本的adb文件名字叫做nox_adb.exe,因此复制过去之后也得改名为nox_adb.exe。

重启模拟器

C:\Users\WYXCz>nox_adb.exe connect 127.0.0.1:62001
already connected to 127.0.0.1:62001

所以其udid就是127.0.0.1:62001

C:\Users\WYXCz>adb devices
List of devices attached
127.0.0.1:62001 device
android模拟器AVD

AVD的全称为:Android Virtual Device,是Android的虚拟设备(模拟器),使用模拟器进行调试,不用实时连到物理设备上测试,方便调试。

可以通过命令行创建和启动AVD,也可以运行AVD Manager.exe来创建和启动AVD。

1.   官网下载(需翻墙):http://developer.android.com/sdk/index.html

2.   其他下载地址:http://www.androiddevtools.cn/

1.双击启动 AVD Manager,进入配置界面

2.点 Create 按钮创建

3.3.配置模拟器基本信息

–AVD Name:设备名称,自己定义一个,用英文(不要用中文)
–Device:设备型号,如下图选项意思是,4.7 寸手机,768*1280 分辨率,屏幕密度:xhdpi
–Target:选对应 API 版本号,Android 版本号 4.4.2,对应 API 版本 19
–CPU/ABI:cpu 型号
–Keyboard:这个最好勾选,带键盘按钮
–Skin:皮肤设置,随意设置
–Front Camera:前置摄像头,设置为 None
–Back Camera:后置摄像头,设置为 None
–Memory Option :RAM 运行内存,设置 512 就行,VM Heap 这个是 app 的运行内存默认设置的 64 就行
–Internal Storage:手机本身的存储卡大小
–SD Card:外部 SD 卡的内存

4.设置好后点 OK 保存,弹出以下界面说明保存成功

5.选中上面创建成功的模拟器,点 start 按钮,然后点 Launch 按钮就能启动了

6.接下来就是耐心等待几分钟(电脑性能不好的等 5-10 分钟),运行成功出现,如下界面

7.看到上面这个界面说明启动成功了,然后跟平常操作手机一样点点点了

到这里模拟器就启动成功了,这样替代了真机连数据线去连电脑了.(当然,有Android手机的童靴也可以直接用真机来测试)

Appium连接真机

实际开发的过程中我们可能是直接拿真机来调试。所以Appium如何连接真机呢?原理上和上述方式一致。但真机会稍微复杂一点

1)打开手机的USB调试模式 
不同的手机打开调试模式的方式不同。一般都在设置中的开发者模式中打开

2)手机连接电脑 
使用数据线连接手机与电脑,然后在cmd中输入adb devices查看是否连接成功

新手可能会出现两个问题 
一是输入adb命令时提示不是内部命令或者外部命令

那么你需要下载一个adb工具包,把文件位置添加到path变量中(必须强调:与sdk中的adb工具包版本一致!!!!

二是需要打开手机的usb调试模式并安装好驱动

之后在cmd中输入adb devices 提示如下图则成功

其它阅读(可忽略)

Android开发环境配置

如果我们要使用Android设备做App抓取的话,还需要下载和配置Android SDK,这里推荐直接安装Android Studio,其下载地址为https://developer.android.com/studio/index.html?hl=zh-cn。下载后直接安装即可。

然后,我们还需要下载Android SDK。直接打开首选项里面的Android SDK设置页面,勾选要安装的SDK版本,点击OK按钮即可下载和安装勾选的SDK版本,如图1-73所示。

另外,还需要配置一下环境变量,添加ANDROID_HOME为Android SDK所在路径,然后再添加SDK文件夹下的tools和platform-tools文件夹到PATH中。

更详细的配置可以参考Android Studio的官方文档:https://developer.android.com/studio/intro/index.html

iOS开发环境

首先需要声明的是,Appium是一个做自动化测试的工具,用它来测试我们自己开发的App是完全没问题的,因为它携带的是开发证书(Development Certificate)。但如果我们想拿iOS设备来做数据爬取的话,那又是另外一回事了。一般情况下,我们做数据爬取都是使用现有的App,在iOS上一般都是通过App Store下载的,它携带的是分发证书(Distribution Certificate),而携带这种证书的应用都是禁止被测试的,所以只有获取ipa安装包再重新签名之后才可以被Appium测试,具体的方法这里不再展开阐述。

这里推荐直接使用Android来进行测试。如果你可以完成上述重签名操作,那么可以参考如下内容配置iOS开发环境。

Appium驱动iOS设备必须要在Mac下进行,Windows和Linux平台是无法完成的,所以下面介绍一下Mac平台的相关配置。

Mac平台需要的配置如下:

  • macOS 10.12及更高版本
  • XCode 8及更高版本

配置满足要求之后,执行如下命令即可配置开发依赖的一些库和工具:

xcode-select --install

这样iOS部分的开发环境就配置完成了,我们就可以用iOS模拟器来进行测试和数据抓取了。

如果想要用真机进行测试和数据抓取,还需要额外配置其他环境,具体可以参考https://github.com/appium/appium/blob/master/docs/en/drivers/ios-xcuitest-real-devices.md

参考:https://cuiqingcai.com/5407.html
https://www.jianshu.com/p/a445750dd016
https://testerhome.com/topics/8024
https://www.jianshu.com/p/50eb9a88f4e2
https://blog.csdn.net/huxp370/article/details/80395209
https://blog.csdn.net/qq_26344609/article/details/76161484
https://blog.csdn.net/qq_35868412/article/details/91366770
https://blog.csdn.net/qq_34829270/article/details/100743071
https://blog.csdn.net/qq_19734597/article/details/102797041

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周小董

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值