1、下载或者更新Homebrew:homebrew官网 macOS 不可或缺的套件管理器

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  #下载
$ brew update #更新
$ brew -v
Homebrew 1.1.5
Homebrew/homebrew-core (git revision e151b; last commit 2016-12-26)

2、使用homebrew来安装node.js : Node.js教程 node采用C++编写,是一个JavaScript的运行环境,因为JS是脚本语言需要一个解析器才能运行,对于写在HTML页面的JS,浏览器本身就是解析器,对于需要单独运行的JS,Node.js就是解析器。

$ brew install node
$ node -v
v7.3.0

3、安装npm: NPM 使用介绍 是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。

$ brew install npm

4、使用npm来安装appium,2017/01/03目前最新的版本是 1.6.3 ,当然也可以在 Macos下bitbucket下载appium客户端,但是坑人的是最新版本是 1.5.3 支持的还只是 iOS10 以下的 UIAutomation 框架基础上测试,而 iOS10 以后苹果使用的却是基于 XCUITest ,所以只能采用npm安装咯。但是因为国内墙太高而使用npm却是从国外服务器下载,有时候使用npm需要非常长的时间,更多时候是失败,推荐使用cnpm来安装:淘宝 NPM 镜像 10分钟同步npmjs.org镜像,使用方式和npm完全一致

$ npm install cnpm -g --registry=https://registry.npm.taobao.org
$ npm view appium versions #查看appium所有的版本号

5、使用cnpm安装appium和appium-doctor:

$ cnpm install -g appium --no-cache
$ cnpm install -g appium
$ cnpm install -g appium-doctor

6、检查appium环境检测:

$ appium-doctor
info AppiumDoctor Appium Doctor v.1.2.5
info AppiumDoctor ### Diagnostic starting ###
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.
info AppiumDoctor  ✔ The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor  ✔ Carthage was found at: /usr/local/bin/carthage
info AppiumDoctor  ✔ HOME is set to: /Users/denglibing
WARN AppiumDoctor  ✖ ANDROID_HOME is NOT set!
info AppiumDoctor  ✔ JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
WARN AppiumDoctor  ✖ adb could not be found because ANDROID_HOME is NOT set!
WARN AppiumDoctor  ✖ android could not be found because ANDROID_HOME is NOT set!
WARN AppiumDoctor  ✖ emulator could not be found because ANDROID_HOME is NOT set!
WARN AppiumDoctor  ✖ Bin directory for $JAVA_HOME is not set
info AppiumDoctor ### Diagnostic completed, 6 fixes needed. ###
info AppiumDoctor
info AppiumDoctor ### Manual Fixes Needed ###
info AppiumDoctor The configuration cannot be automatically fixed, please do the following first:
WARN AppiumDoctor - Manually configure ANDROID_HOME.
WARN AppiumDoctor - Manually configure ANDROID_HOME and run appium-doctor again.
WARN AppiumDoctor - Add '$JAVA_HOME/bin' to your PATH environment
info AppiumDoctor ###
info AppiumDoctor
info AppiumDoctor Bye, run appium-doctor again when all manual fixes have been applied!
info AppiumDoctor

常见问题解决:

✖ Xcode Command Line Tools are NOT installed!
$ xcode-select --install   #按照提示安装即可

✖ Carthage was NOT found!
$ brew install carthage    #carthage:类似cocoapods管理第三方代码,自动将工程编译为动态库,所以仅支持iOS8以上

WARN AppiumDoctor  ✖ ANDROID_HOME is NOT set!
但是建议安装安装编译器,可以解决其他Android环境的其他问题 AndroidStudio(https://developer.android.com/studio/index.html?hl=zh-cn)
设置 ANDROID_HOME 路径:
http://stackoverflow.com/questions/19986214/setting-android-home-enviromental-variable-on-mac-os-x
设置 JAVA_HOME 路径:
http://stackoverflow.com/questions/6588390/where-is-java-home-on-osx-sierra-10-12-el-captain-10-11-yosemite-10-10

JAVA_HOME问题:
当前最新JDK版本下载地址 Java SE Development Kit 8u111 (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

.bash_profile文件:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
export ANDROID_HOME=/Users/denglibing/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:${JAVA_HOME}/bin

7、安装appium客户端,上面的操作只是安装了server端,接下来需要安装测试代码运行所依赖的客户端,我们以python为例:

git clone https://github.com/appium/python-client
cd python-client
#谢谢 @GentHuang 提醒
sudo python setup.py install

8、对于 iOS10 以上的测试,需要下载安装 appium-xcuitest-driver 驱动:Appium iOS driver, backed by Apple XCUITest , 当然也可以在 /usr/local/lib/node_modules/appium/node_modules/.2.5.1@appium-xcuitest-driver/WebDriverAgent/ 找到该项目,执行 carthage update , 选择 WebDriverAgentRunner 这个target编译即可。

其他相关的安装:

$ ./Scripts/bootstrap.sh  #感谢网友 @托托李_742f 的提醒,添加该命令解决很多人编译WebDriverAgent不通过的问题。
$ brew install libimobiledevice --HEAD  # install from HEAD to get important updates
$ brew install ideviceinstaller         # 只是对iOS9有用

$ npm install -g ios-deploy             # iOS10 以后的版本安装ios-deploy
$ sudo gem install xcpretty             # 真机需要安装 xcpretty

不太熟悉WebDriverAgent的可以看看这个博客:

https://testerhome.com/topics/7220

9、下载测试代码并且测试,官网上的测试代码坑很多,这个问题我困扰我好久。一开始还以为是自己那个环境出问题还是流程不对,结果真的只是官网测试代码本身问题,当然可以自己编写代码测试咯,也可以下载我的一个简单的 erduoniba/appium_ios_sample_code

先启动 appium 服务器:

$ appium &

再执行模拟器的python客户端的代码测试

$ cd sample-code/apps/HHH

#在sample-code/apps/HHH/build/Release-iphonesimulator/得到HHH.app包
$ xcodebuild -sdk iphonesimulator
Build settings from command line:
   SDKROOT = iphonesimulator10.2

=== BUILD TARGET HHH OF PROJECT HHH WITH THE DEFAULT CONFIGURATION (Release) ===
...
...
...
Signing Identity:     "-"

/usr/bin/codesign --force --sign - --timestamp=none /Users/denglibing/Desktop/sample-code/apps/HHH/build/Release-iphonesimulator/HHH.app

** BUILD SUCCEEDED **

$ cd sample-code/examples/python
$ python ios_simple_simulator.py       # 执行测试脚本时,会遇到 HTMLTestRunner 错误的问题,这个是因为第二篇也对这个脚本进行了测试,请移步到 这里http://www.jianshu.com/p/a673b93d1f98 可以快速解决并输出测试结果
test_scroll (__main__.SimpleIOSTests) ... ok

----------------------------------------------------------------------
Ran 1 test in 30.421s

OK

对于真机,可能要麻烦些,安装 appium-xcuitest-driver 驱动后,生成在真机上运行的包:

参考资料可以看官网的说明 部署ios-app-到手机上

# 在 apps/HHH/build/Release-iphoneos/HHH.app 得到 release 包
$ xcodebuild -sdk iphoneos -target HHH -configuration Release CODE_SIGN_IDENTITY="iPhone Distribution: Shenzhen XXXX Technology Co., Ltd. (B9FH944VTE)"
PROVISIONING_PROFILE="08f04032-ca2e-4bb5-b1ba-c32778115f2e"

关于怎么设置 CODE_SIGN_IDENTITY 和 PROVISIONING_PROFILE 如何查看 ,可以选择下图所示的 Development Team 一行, control+c 然后 复制出去即可

所示的 Development Team 一行, control+c 然后 复制出去即可

接下来连上真机 执行测试用例代码:

$ cd sample-code/examples/python
$ python ios_simple_device.py
test_scroll (__main__.SimpleIOSTests) ... ok

----------------------------------------------------------------------
Ran 1 test in 30.421s

OK

10:一些很有帮助的资料

很好的论坛 https://testerhome.com

appium源码地址: https://github.com/appium/appium

appium官网地址:http://appium.io/

appium中文说明文档:http://appium.io/slate/cn/master/?ruby#about-appium

客户端安装:

http://appium.io/downloads.html

open  .bash_.bash_profile

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home

export JAVA_HOME

export PATH=$JAVA_HOME/bin:$PATH

ANDROID_HOME=/Users/ocean/Library/Android/sdk

export ANDROID_HOME

export PATH=${PATH}:/Users/ocean/Library/Android/sdk/tools:/Users/ocean/Library/Android/sdk/platform-tools

转载于:https://www.cnblogs.com/mcboy/p/8949896.html

Mac下布置appium环境相关推荐

  1. 在Mac下配置Appium环境

    Appium Desktop Appium Desktop是Appium服务器的图形界面,可以设置选项.启动/停止服务器.查看日志等,还可以使用Inspector来查看应用程序的元素与基本信息,甚至可 ...

  2. 详细说说Mac下搭建Appium环境

    appium服务端的版本分为命令行版.桌面版,两者有些区别,两者都要安装 01 appium ios自动化环境搭建 首先必须有mac电脑,在app store中搜索xcode并安装,安装完成后一定记得 ...

  3. 全网最详细的Mac下搭建Appium环境文档,没有之一

    appium服务端的版本分为命令行版.桌面版,两者有些区别,两者都要安装 01.appium ios自动化环境搭建 首先必须有mac电脑,在app store中搜索xcode并安装,安装完成后一定记得 ...

  4. Mac 下安装 ruby 环境解决 brew 安装 yarn 问题

    Mac 下安装 ruby 环境解决 brew 安装 yarn 问题 参考文章: (1)Mac 下安装 ruby 环境解决 brew 安装 yarn 问题 (2)https://www.cnblogs. ...

  5. php环境苹果搭建,mac下搭建php环境

    本文主要和大家分享mac下搭建php环境,最近工作环境切换到Mac,所以以OS X Yosemite(10.10.1)为例,记录一下从零开始安装Mac下LNMP环境的过程 确保系统已经安装xcode, ...

  6. Mac下搭建java环境与卸载

    Mac下搭建Java环境与卸载 Mac下搭建Java环境 1.在终端命令行输入java -version查看JDK版本 例:java version "1.8.0_161" ​ j ...

  7. Mac下添加java环境变量

    Mac下添加java环境变量 配置文件的路径是/etc/profile或~/.bash_profile,推荐大家使用mac自带的终端或者iTerm2来配置. 方法一:全局配置 1 2 3 4 5 6 ...

  8. mac下java 开发环境搭建

    mac配置java开发环境: jdk1.7 +sdk1.7+maven +tomcat   1.先安装jdk ,才能安装sdk . 2 mac中jdk1.7的默认位置:/Library/Java/Ja ...

  9. 【PHP 开发】mac 下配置 PHP 环境的方法

    最近在试着将 showdoc 配置到自己服务器上,需要 PHP 环境,所以自己配置了一下,这里将方法记录一下. 1. 开启 Apache 服务 Mac 系统下是自带 Apache 服务的,只需要开启即 ...

最新文章

  1. 创建数据库连接字符串的快截方法
  2. Go语言集合(Map)
  3. 微服务,正确实施的SOA?
  4. 电脑花屏是屏幕坏了吗_电脑开机屏幕花的是不是主板坏了
  5. 2021 年最受欢迎的深度学习软件
  6. 浅谈各大搜索引擎蜘蛛
  7. UI 设计师不容错过的12款APP UI 交互设计
  8. python正则表达式匹配数字或者逗号_将数字与正则表达式相匹配-只有数字和逗号...
  9. bigWigToBedGraph格式转换
  10. 麒麟安全IPO过会:拟募资6.6亿 第一季营收下降40%
  11. 关于tkinter.Canvas 不显示图片的问题
  12. 谈小米内忧外患的困境
  13. 记一次基于vmware的gentoo安装
  14. 物联网智慧农业实训室实训基地建设方案(完整版)
  15. CRM销售系统价格 CRM销售管理系统需要多少钱
  16. 网络应用基础 html教案,计算机应用基础教案4.2进行网络交流
  17. GPS接收机的灵敏度分析
  18. 软件工程学习笔记概要
  19. vue整合富文本编辑器tinymce
  20. 《Linux/UNIX OpenLDAP实战指南》——2.6 OpenLDAP目录树规划

热门文章

  1. php margin参数,margin参数简单介绍_html/css_WEB-ITnose
  2. fastjson 添加key value_Redis中设置了过期时间的Key,那么你还要知道些什么?
  3. 企业网络推广方法教你如何精准避免网站过度优化问题?
  4. 网络营销之下的泡泡玛特盲盒广受年轻用户群体的喜爱与关注
  5. 有哪些优化技巧更利于手机端网站排名提升?
  6. 基于jquery的ajax聊天室系统,基于jQuery的Ajax聊天室应用毕业设计(含外文翻译)...
  7. python数据可视化库 动态的_Python数据可视化:Pandas库,只要一行代码就能实现...
  8. linux下进程的tty,Linux下TTY驱动程序分析
  9. eclipse新建一个java_Eclipse中新建一个java源文件的步骤
  10. android 镜像 制作工具,手机rom只制作-镜像工厂app下载2.8安卓最新版-西西软件下载...