[自动化测试]Appium + Genymotion搭建安卓自动化测试环境简明教程

关于软件的介绍

Appium是一个开源的、跨平台的测试自动化工具,用于本地、混合和移动web和桌面应用程序,在模拟器(iOS)、仿真器(Android)和真实设备(iOS、Android、Windows、Mac)上进行测试。因为良好的支持库支持,你可以简单的在Java, Python,C#....等等一系列语言中使用Appium支持库编写优雅的自动化测试代码,这边主要讨论的是Java,和Python.

Genymotion是一套完整的工具,它提供了Android虚拟环境。它简直就是开发者、测试人员、推销者甚至是游戏玩家的福音。据称是最快的安卓模拟器,而且对个人用户免费,无广告,简直是模拟器中的清流.虽然是X86的架构,但是可以简单地通过安装通过安装Genymotion-ARM-翻译来进行兼容ARM软件,从而实现安装ARM架构的APK.


Genymotion的安装

Genymotion现在官网下载必须注册账号(跳转下载), 可以先注册账号然后下载.

请注意:Genymotion的运行需要Oracle VirtualBox的支持,官网下载的安装包也有两个版本,一个是包括的虚拟机的版本,另外一个是不包括虚拟机的版本.请结合自身情况,请选择对应合适的版本进行安装.

安装过程省略,就是选对路径之后一路next就完成了,再次声明Genymotion安装虚拟机许要有Oracle VirtualBox的支持.

上面也说到了,由于Genymotion虚拟机是基于X86架构的,但是现在大多数APP是ARM架构,这就导致了许多APP在虚拟机上会出现安装失败的错误.但是Genymotion提供了简单的ARM-Translation,只需要简单的拖入到虚拟机安装,就可以解决无法安装app的问题,可以说是十分方便,具体下载链接自行百度,注意一定要对应自己的Android版本.

特别注意:拖动安装ARM-Translation.zip的时候,文件路径不能含有中文,否则虚拟机会把安装动作当成复制动作,导致安装无法完成

注意,一定要将Genymotion的adb地址改为本机安装的Android SDK的adb地址,否则可能会出现许多意想不到的问题导致环境安装失败,如果本机有其他的adb程序占用端口,无比卸载其他程序避免adb无法正常启动,出现各种奇形怪状的问题.


Appium的安装

由于本次环境是基于Android的,安装Appium许要一系列的环境支持,否则Appium将无法正确运行.

①:Android SDK安装

安装Android SDK的方法有很多,可以通过官网的SDK Manger 安装,也可以通过Android Studio安装.这边选择通过Android Studio安装.安装成功之后会自动检测安装Android SDK,选择安装之后一定要设置好安装的路径,因为安装成功之后许要设置两个环境变量.

变量名称:ANDROID_HOME, 变量值:你的SDK安装路径(eg:E:\AndroidSDK)
在Path变量下面添加:%ANDROID_SDK_HOME%\platform-tools
在Path变量下面添加:%ANDROID_SDK_HOME%\tools

环境变量的配置作为开发者都应该不陌生,不同的是win7与win10的差别.配置好环境变量在CMD窗口输入adb version控制台就会打印出Android SDK的版本信息和安装路径,如图所示:

 

②:Node.js安装

Node.js请请 跳转官网下载,由于安装方法比较简单,选择好路径next下来就好了,Node.js的安装程序会自动添加一个环境变量指向node.js安装路径.如果没有添加成功需要自己手动将Node.js的安装路径加入到Path路径下面,安装成功可以使用node -vnpm -v两条指令查看是否安装成功.

③:Appium安装

Appium需要先在官网下载桌面版安装包,针对不同的系统,Appium都有相应的支持.我们这里选择的是Appium-windows版本,安装过程异常简单,安装程序不可选择安装路径,默认安装到C盘,所以直接下一步就能完成安装.同样的还是需要配置相应的环境变量:

变量名称:APPIUM_HOME, 变量值:你的Appium安装路径(eg:C:\Program Files\Appium)
在Path变量下面添加:%APPIUM_HOME%

环境变量配置完成之后在控制台输入appium-doctor,会自动检查环境,安装成功会有如下输出(PS:由于Appium-Desktop没有自带appium-doctor所以需要我们通过npm安装,并且将目录添加到Path环境变量.):

至此,我们所有环境都准备就绪了,现在可以用相应的语言编写一些自动化测试的代码了.


自动化测试实例

Appium各语言用到的支持库地址

  1. Ruby: http://rubygems.org/gems/appium_lib
  2. Python: https://pypi.python.org/pypi/Appium-Python-Client
  3. Java: https://search.maven.org/#search%7Cga%7C1%7Cg%3Aio.appium%20a%3Ajava-client
  4. JavaScript: https://www.npmjs.org/package/wd
  5. PHP: https://github.com/appium/php-client
  6. C#: http://www.nuget.org/packages/Appium.WebDriver/
  7. RobotFramework: https://github.com/jollychang/robotframework-appiumlibrary

Python自动化测试实例

Python的测试需要安装支持库appium-python-client,直接在虚拟环境下用 pip install appium-python-client安装即可.简单的测试实例见下方代码:

  1. from appium import webdriver
  2.  
  3. desired_caps = {}
  4. desired_caps['platformName'] = 'Android'
  5. desired_caps['udid'] = '192.168.13.101:5555'
  6. # Android Emulator
  7. desired_caps['deviceName'] = 'deviceName'
  8. desired_caps['platformVersion'] = '5.1.1'
  9. # 安卓app包名
  10. desired_caps['appPackage'] = 'com.android.providers.downloads.ui'
  11. desired_caps['appActivity'] = 'com.android.providers.downloads.ui.MainActivity'
  12. desired_caps['unicodeKeyboard'] = True
  13. # 连接appium
  14. app_web = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps

运行成功后会在虚拟机桌面上安装如下app:

代码只用作检测环境是否安装成功,没有实际意义.具体测试代码的编写还要阅读Appium文档和appium-python-client的api文档.weiney也是新手刚入门,但是万事开头难嘛,总会学到些知识和技能的.技多不压身.Appium同时也支持IOS的自动化测试,有时间可以写篇博客记录一下,只不过安装MAC虚拟机着实不是很方便,还是需要慢慢研究.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值