Appium超详细环境搭建for Mac
1、iOS 9 之前一直以 instruments 下的 UIAutomation为驱动底层技术(弊端由于 instruments 的限制,单台 mac 只能对应单台设备);
2、iOS 9.3 时代推出 XCUITest 工具,用以替代 UIAutomation;
3、iOS 10 时代苹果直接废弃了 UIAutomation、Facebook 推出 WebDriverAgent(实现的 server 能够支持单台 mac 对应多个设备);4、Appium 在iOS 9.3 后全面采用 WebDriverAgent 的方案。

其次,重中之重:版本很重要,我的是:xcode9.3 + node10.11.0 + appium1.7.0,如果根据以下配置仍然不能成功运行,那么99%是版本的问题
下面开始逐个安装
1、安装nodebrew install node
通过这种方法安装的node是最新版本,因为我本地需要有node 8.1.1版本,所以使用nvm进行安装
备注:nvm的安装和使用
2、下载Xcode 和 Command Line Tools:需要有个AppleID,并根据自己电脑OS版本下载所需版本

下载后直接安装即可,注意Xcode保持在application文件夹下只有一个唯一版本
3、下载安装JDK

下载完成后直接安装即可
4、安装Android SDK
很多资料都推荐使用brew安装,但是实践后发现SDK文件为空,所以使用Android studio来安装
如果打开Android studio报错,直接cancel到下一步即可;若使用default方式安装,也可以在configuration里重新下载相关tools


5、安装appium最新版本

这里不使用npm下载方式是因为下载过程较长,且容易报错
6、安装appium-doctornpm install -g appium-doctor
7、配置Android环境变量
在 ~/.bash_profile文件中添加path
export ANDROID_HOME=~/Library/Android/sdk/
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home #jdk安装路径
export PATH=~/bin:$PATH:/usr/local/bin:$ANDROID_HOME/platform-tools/:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
在appium的configurations里设置:

、安装其他依赖brew install libimobiledevice --HEADnpm install -g ios-deploybrew install carthage
libimobiledevice / ideviceinstaller 库:相当于 android 的 adb,是 Appium 底层用到的工具之一,用于获取 iOS 设备信息
ios-deploy:查看设备应用
carthage:类似于 java 的 maven,项目依赖管理,主要是 WebDriverAgent 使用
(1)首先进入WebDriverAgent所在文件目录下:
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent(2)根目录下执行:
./Scripts/bootstrap.sh(3)打开
WebDriverAgent.xcodeproj工程文件(4)添加自己的account:Xcode -> Preferences -> account -> 左下角 +

(5)更改bundle id:这里的bundle id就相当于一个App的唯一识别号,更改的规则随意,只要确认不会与有重复即可;所有的targets都需要修改


10、验证是否环境已经安装成功了
(1)终端输入:appium-doctor
如果环境都已配置好,应该是文章最开始图片中的结果
(2)运行WebDriverAgentRunner

1:选择scheme为WebDriverAgentRunner -> 2:选择运行设备,模拟器和真机都可以 -> 3:选择要构建的方式 ->4:选择Test方式
的步骤验证是否能成功运行WebDriverAgentRunner
如果真机运行后弹出需要在设置中信任证书,
Verify the Developer App certificate for your account is trusted on your device. Open Settings on iPhone and navigate to General -> Device Management, then select your Developer App certificate to trust it.
按照步骤操作后,重新运行就可以了

成功运行结果图:

1、appium版本不支持xcode版本(需要调用XCUITest),重新下载可匹配的Xcode版本
Xcode9.3 + Appium1.6.4时,运行WebDriverAgentRunner报错
Early unexpected exit, operation never finished bootstrapping - no restart will be attempted

解决方法:更新Appium版本到1.7.0
2、appium无法调起webdriverrunner(webdriveragent更新),查看是否因为webdriveragent证书签名、依赖framework、serverURL抛出错误信息
安装依赖framework时报错:
Falling back to building from the source
A shell task (/usr/bin/xcrun xcodebuild -project /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/Carthage/Checkouts/CocoaAsyncSocket/CocoaAsyncSocket.xcodeproj CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES -list) failed with exit code 72:
xcrun: error: unable to find utility "xcodebuild", not a developer tool or in PATH
解决方法:选择Command Line Tools

Xcode -> Preferences -> Locations -> Command Line Tools
3、长时间测试,server中断,这个无法解决,appium自身问题
4、webdriveragent启动失败,status、inspector无法正常查看,查看版本
5、appium脚本启动失败,查看脚本中的配置
Appium超详细环境搭建for Mac的更多相关文章
- (转)超详细单机版搭建hadoop环境图文解析
超详细单机版搭建hadoop环境图文解析 安装过程: 一.安装Linux操作系统 二.在Ubuntu下创建hadoop用户组和用户 三.在Ubuntu下安装 ...
- 超详细动手搭建一个Vuepress站点及开启PWA与自动部署
超详细动手搭建一个Vuepress站点及开启PWA与自动部署 五一之前就想写一篇关于Vuepress的文章,结果朋友结婚就不了了之了. 记得最后一定要看注意事项! Vuepress介绍 官网:http ...
- OpenGL环境搭建Windows+Mac+Linux
OpenGL环境搭建Windows+Mac+Linux Mac平台下 下载列表:GLFWcmake 下载的GLFW解压缩 然后安装cmake, 安装好cmake之后打开 1.browse source ...
- Mac+Appium+Python+Pycharm环境搭建
为什么优先选择Mac做自动化测试? 1.既可以做iOS端的测试也可以进行Android端测试 2.Mac运行效率相对于Win要高很多,可以真正发挥appium的功能 以下是在Mac上完整搭建过程 一. ...
- Appium环境搭建(win/mac)
课程使用Windows+Android虚拟机, 建议使用Windows系统学习课程, 如使用Mac系统, 请另外准备一台Andorid手机 Windows系统Appium环境搭建 安装JDK并配置环境 ...
- (appium+python)UI自动化_01_自动化环境搭建【MAC版】
Appium简介 Appium是一个开源的.跨平台的测试框架,主要用来进行app UI自动化,适用于原生应用.混合应用和移动网页应用(H5页面).目前支持Python.JavaScript.Objec ...
- Appium环境搭建(MAC版)
一.环境搭建 (1)安装node.js brew install node (2)安装Xcode 测试iOS App需要.打开Finder,在Applications文件夹下,看是否有Xcode.ap ...
- Appium环境搭建(Mac)
为什么选择Mac做自动化测试? 既可以做iOS端的测试也可以进行Android端测试 Mac运行效率相对于Win要高很多,可以真正发挥appium的功能 环境依赖 Node.js Appium App ...
- Appium入门指南 - 环境搭建和Case编写
本文档将详细介绍如何搭建 Appium 的运行环境,以及如何编写一个简单的 UI 自动化测试用例.其中,也会穿插讲解一些 Appium 的基本知识.关于 Appium 的更多信息,大家可以查看官方文档 ...
随机推荐
- AVR单片机教程——矩阵键盘
本文隶属于AVR单片机教程系列. 开发板上有4个按键,我们可以把每一个按键连接到一个单片机引脚上,来实现按键状态的检测.但是常见的键盘有104键,是每一个键分别连接到一个引脚上的吗?我没有考证过, ...
- Object Detection API error: “ImportError: cannot import name anchor_generator_pb2”
Configuring the Object Detection API on Windows is a tricky task. You will find the answer in the fo ...
- spring cloud oauth2搭建认证中心与资源中心
一 认证中心搭建 添加依赖,如果使用spring cloud的话,不管哪个服务都只需要这一个封装好的依赖即可 <dependency> <groupId>org.springf ...
- 为什么不在spring容器管理controller
Spring容器与SpringMVC容器 1.疑问:为什么不用spring去管理所有类? 我们配置springMVC 中,为什么controller不直接交给spring 管理而要spring MVC ...
- SystemVerilog搭建APB_I2C IP 层次化验证平台
一.前言 近期疫情严重,身为社畜的我只能在家中继续钻研技术了.之前写过一篇关于搭建FIFO验证平台的博文,利用SV的OOP特性对FIFO进行初步验证,但有很多不足之处,比如结构不够规范.验证组件类不独 ...
- 页面置换算法之Clock算法
1.前言 缓冲池是数据库最终的概念,数据库可以将一部分数据页放在内存中形成缓冲池,当需要一个数据页时,首先检查内存中的缓冲池是否有这个页面,如果有则直接命中返回,没有则从磁盘中读取这一页,然后缓存到内 ...
- 物流跟踪API-快递单订阅
上一篇文章我们讲解了轨迹查询的接口,通过快递鸟接口可以实现实时查询物流轨迹,这次给大家推荐订阅服务功能. 为了更好的理解订阅服务,我们来做个对比, 即时查询是主动查询物流轨迹,需要我们主动调用接口才能 ...
- 介绍Netty
介绍Netty 概述 Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务 ...
- Spring注入bean的方式
在Spring容器中为一个bean配置依赖注入有三种方式: · 使用属性的setter方法注入 这是最常用的方式: · 使用构造器注入: · 使用Filed注入(用于注解方式). 使用属性的se ...
- winsocket入门学习
参考资料:http://c.biancheng.net/cpp/socket/ http://www.winsocketdotnetworkprogramming.com/ socket 是" ...