前提准备

开始正文之前,你需要准备好一些基本条件:

  1. 安装好Mac OSX 操作系统的设备
  2. 能够访问中国局域网以外资源的方法(没有也行,但很痛苦)
  3. 已经安装好 homebrew
  4. 已经安装好 Python3.x
  5. 已经安装好 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命令就可以知道你还需要设置哪些环境变量,
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设置:

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

  

开始编写自动化测试

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')

  


在Mac OSX 上配置Appium+Android自动化测试环境的更多相关文章

  1. 在Mac OSX上配置Appium+Android自动化测试环境

    前提准备 开始正文之前,你需要准备好一些基本条件: 1.安装好Mac OSX 操作系统的设备 2.能够访问中国局域网以外资源的方法(没有也行,但很痛苦) 3.已经安装好 homebrew 4.已经安装 ...

  2. mac上搭建appium+IOS自动化测试环境(二)

    上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...

  3. mac上搭建appium+IOS自动化测试环境(一)

    阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...

  4. appium+android自动化测试环境部署

    1 node.js安装 官网(https://nodejs.org/en/) 下载对应版本的node.js并安装 安装完成后cmd中输入node -v,输入版本号则安装成功 2 jdk安装 下载对应版 ...

  5. 在Mac系统上配置Android真机调试环境

    在Mac系统上配置Android真机调试环境 mac上配置安卓环境还说挺方便的,真机调试也比win上要好一些.win上被各种软件强行安装了xxx助手. 在mac上就了一个干净的感觉. 下载Androi ...

  6. Mac OSX上的软件包管理工具,brew 即 Homebrew

    brew 即 Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便. brew类似ubuntu系统下的apt-get的功能. 安装 ...

  7. brew mac osx 上软件包管理工具

    今天推荐 Mac OSX 下,方便高效的包管理工具 brew brew 的全名叫做 Homebrew 它的功能类似于 ubuntu 下同下 apt-get ,或者 Cent OS 下的 yum 等包管 ...

  8. Delphi for iOS开发指南(1):在Mac上配置你的开发环境

    http://cache.baiducontent.com/c?m=9d78d513d99516f11ab7cf690d678c3b584380122ba7a0020fd18438e4732b4050 ...

  9. brew 又叫Homebrew,是Mac OSX上的软件包管理工具

    brew 又叫Homebrew,是Mac OSX上的软件包管理工具; Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以 ...

随机推荐

  1. ConfigurationManager.ConnectionStrings 类库 取不到值 报错 初始化错误

    是因为我把 config 文件写在了 类库中,(擦,很久之前就处理过好多次,总是忘记 写个文章记录下来) 其实应该放在 主目录底下的 web.comfig 里 就是网站项目的 配置文件里,类库找的 是 ...

  2. 【bzoj2500】幸福的道路 树形dp+倍增RMQ+二分

    原文地址:http://www.cnblogs.com/GXZlegend/p/6825389.html 题目描述 小T与小L终于决定走在一起,他们不想浪费在一起的每一分每一秒,所以他们决定每天早上一 ...

  3. ACM-渊子赛马

    题目: 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为“战国时期”.在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都. 赛马是当时最受齐国贵族欢迎的 ...

  4. poj 2367 拓扑排序入门

    Description The system of Martians' blood relations is confusing enough. Actually, Martians bud when ...

  5. Nano

    Nano命令指南 今天在输命令时,无意中输入了nano,对这个命令不太熟悉,结果不知道如何才能退出,保存,赶快查了一下资料,原来是这样的啊. 打开文件与新建文件 使用nano打开或新建文件,只需键入: ...

  6. 服务器 阿里云服务器Ubuntu挂载数据盘

    服务器 阿里云服务器Ubuntu挂载数据盘  转自:http://www.codingyun.com/article/24.html coding云运行在阿里云的Ubuntu 12.04 64位操作系 ...

  7. Windows Server 2008允许多用户登录远程桌面

    远程桌面是windows管理员对服务器进行管理最常用的方式,默认情况下windows server服务器是只允许单个远程链接的,如何开启多个用户远程桌面,下面就来介绍.   工具/原料   windo ...

  8. 51Nod 1558 树中的配对

    题目链接 分析: 想了好久~~~还是得看题解...QwQ 首先因为是排列,所以我们猜想要把式子拆开来看, $ \sum dis(i,p[i])=\sum dep[i]+dep[p[i]]-2*dep[ ...

  9. DataTable转换为实体集合

    using System; using System.Collections; using System.Collections.Generic; using System.Data; using S ...

  10. Uva 10158 War

    并查集的应用 直接阔成2倍.后N项为对应的敌人 #include <map> #include <set> #include <list> #include < ...