在Mac OSX 上配置Appium+Android自动化测试环境
Posted 自动化软件测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Mac OSX 上配置Appium+Android自动化测试环境相关的知识,希望对你有一定的参考价值。
前提准备
开始正文之前,你需要准备好一些基本条件:
- 安装好Mac OSX 操作系统的设备
- 能够访问中国局域网以外资源的方法(没有也行,但很痛苦)
- 已经安装好 homebrew
- 已经安装好 Python3.x
- 已经安装好 Java Runtime Environment
安装 android Studio / SDK
本文主要为了测试安卓应用,那么这里我们就需要安装Android Studio或者Android SDK。
- Android Studio - 完整的开发以及测试工具,需要梯子
- Android SDK - 足够完成自动化测试,通过homebrew安装
如果只是为了自动化测试我建议安装SDK足矣,使用brew命令安装。
brew install android-sdk
在国内使用brew可以事先配置好国内源,速度会快很多。
如果有梯子建议选择Android Studio,安装方法很简单,官网下载后一路Next,启动后会让你把SDK等等一系列依赖都装好,一步到位。
实际安卓Android Studio比较好,一步到位,可以到sdk等都安装好,安卓studio安装过程后启动时会出现proxy错误,这里点击取消,然后安装完,打开后,在sdk manager中设置代理
Android SDK 在线更新镜像服务器资源:
大连东软信息学院镜像服务器地址:
- http://mirrors.neusoft.edu.cn 端口:80
北京化工大学镜像服务器地址:
- IPv4: http://ubuntu.buct.edu.cn/ 端口:80
- IPv4: http://ubuntu.buct.cn/ 端口:80
- IPv6: http://ubuntu.buct6.edu.cn/ 端口:80
上海GDG镜像服务器地址:
- http://sdk.gdgshanghai.com 端口:8000
亲测第一个好用
准备Android 模拟器或者使用真机
如果SDK已经安装完毕,应该可以使用adb命令来检查可用的模拟器或者已经连接到电脑上的实体手机。
adb devices
如果不知道adb工具在哪,可以先在命令行里通过find搜索。
find /Users -name adb # 搜索用户目录
find / -name adb # 搜索全盘
找到之后可以把 adb 目录加入PATH,方便后续使用。
安装Appium
Appium 可以通过多种方式安装。
方式一:使用 NodeJS 安装
首先通过brew安装nodejs:
brew install node
配置国内源,在个人目录下新建一个.npmrc文件,写入:
registry=https://registry.npm.taobao.org/
开始安装Appium:
npm install -g appium
npm install -g appium-doctor
Appium-doctor 可以帮你诊断测试环境,建议安装。
方式二:下载Appium桌面版安装
官方的Appium桌面安装包可以从github下载,需要梯子。
下载到的dmg文件双击装载,把Appium拖到Application里完成安装。
安装 Appium-Client
本文只讨论Python实现的Appium测试,所以你只需要允许以下命令:
pip install Appium-Python-Client
如果你已经安装了appium-doctor,那么你只要运行appium-doctor命令就可以知道你还需要设置哪些环境变量,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | tobyqin@CatBook ~> appium-doctor info AppiumDoctor Appium Doctor v.1.4.3 info AppiumDoctor ### Diagnostic starting ### info AppiumDoctor ✔ The Node.js binary was found at: /usr/local/bin/node info AppiumDoctor ✔ Node version is 7.10.0 info AppiumDoctor ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer WARN AppiumDoctor ✖ Xcode Command Line Tools are NOT installed! info AppiumDoctor ✔ DevToolsSecurity is enabled. info AppiumDoctor ✔ The Authorization DB is set up properly. WARN AppiumDoctor ✖ Carthage was NOT found! info AppiumDoctor ✔ HOME is set to: /Users/tobyqin info AppiumDoctor ✔ ANDROID_HOME is set to: /Users/tobyqin/Library/Android/sdk/ info AppiumDoctor ✔ JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home info AppiumDoctor ✔ adb exists at: /Users/tobyqin/Library/Android/sdk/platform-tools/adb info AppiumDoctor ✔ android exists at: /Users/tobyqin/Library/Android/sdk/tools/android info AppiumDoctor ✔ emulator exists at: /Users/tobyqin/Library/Android/sdk/tools/emulator info AppiumDoctor ✔ Bin directory of $JAVA_HOME is set info AppiumDoctor ### Diagnostic completed, 2 fixes needed. ### info AppiumDoctor info AppiumDoctor ### Manual Fixes Needed ### info AppiumDoctor The configuration cannot be automatically fixed , please do the following first: WARN AppiumDoctor - Please install Carthage. Visit https: //github.com/Carthage/Carthage#installing-carthage for more information. info AppiumDoctor ### info AppiumDoctor info AppiumDoctor Bye! Run appium-doctor again when all manual fixes have been applied! |
其实你不一定需要把通过所有检查项,如果只是为了完成Android的Appium测试,只要确保ANDROID_HOME 和 JAVA_HOME 正确配置,另外SDK Tools 和Platform Tools都加入PATH就基本完成了。可以参考我个人目录下的.bash_profile设置:
1 2 3 4 | export ANDROID_HOME=~/Library/Android/sdk/ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home export PATH=~/bin:$PATH:/usr/local/bin:$ANDROID_HOME/platform-tools/:$JAVA_HOME/bin |
开始编写自动化测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | from appium import webdriver desired_caps = desired_caps[ 'platformName' ] = 'Android' desired_caps[ 'platformVersion' ] = '7.1.1' desired_caps[ 'deviceName' ] = 'Android Emulator' desired_caps[ 'appPackage' ] = 'com.android.dialer' desired_caps[ 'appActivity' ] = 'DialtactsActivity' driver = webdriver.Remote( 'http://localhost:4723/wd/hub' , desired_caps) driver.find_element_by_id( 'com.android.dialer:id/search_box_collapsed' ).click() search_box = driver.find_element_by_id( 'com.android.dialer:id/search_view' ) search_box.click() search_box.send_keys( 'hello toby' ) |
最后:下方这份完整的自动化测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
以上是关于在Mac OSX 上配置Appium+Android自动化测试环境的主要内容,如果未能解决你的问题,请参考以下文章
mac下Appium环境配置
Mac OSX下Appium驱动iPhone真机
Appium
如何 在Mac OS X 上的 Appium 上 Run *.app 文件
配置Appium开发环境
Mac OSX:Powerline风格的zsh配置