Appium+ios环境搭建
appium 环境搭建
- 安装homebrew(Mac OSX上的软件包管理工具)
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 安装libimobiledevice(一个跨平台的软件库,支持 iPhone, iPod Touch, iPad and Apple TV 等设备的通讯协议)
$ brew install libimobiledevice --HEAD
- 安装carthage([使用Swift 语言编写,只支持动态框架,只支持 iOS8+的Cocoa依赖管理工具)
$ brew install carthage
- 安装node
$ brew install node
- 安装npm(NodeJS包管理和分发工具)
$ brew install npm
- 安装cnpm(国内直接用npm下载安装会有好多网络问题,安装淘宝的cnpm要比npm好用)
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
- 安装ios-deploy(一个使用命令行安装ios app到连接的设备的工具)
$ cnpm install -g ios-deploy
- 安装xcpretty(用于对xcodebuild的输出进行格式化)
$ gem install xcprett
安装appium-desktop
- 官网下载mac版本的appium-desktop(https://github.com/appium/appium-desktop/releases),下载完成后进行安装
- 安装完成后需要编译WebDriverAgent.xcodeproj
安装时遇到的一些问题
- 报错command line tools: gradle is uninstalled的解决办法:brew install gradle
- xcodebuild failed with code 65的解决办法:这个问题是webdriveragent文件不兼容导致的,下载一个兼容的(https://github.com/facebookarchive/WebDriverAgent),替换一下这个文件,code65的问题就解决了。新版的appium-desktop的webdriveragent已经可以直接编译使用了,建议更新appium版本
WebDriverAgent编译
- 使用xcode打开WebDriverAgent.xcodeproj(/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj)
- build时需要指定一个Development team,可以用个人Apple ID账号,生成个人证书和team(在Xcode->Preferences->Account中配置),也可以让开发团队的同事给你添加一个账号
- PROJECT->WebDriverAgent、TARGETS->WebDriverAgentLib->General->Identity,Bundle Identifier使用一个新名字
- PROJECT->WebDriverAgent、TARGETS->WebDriverAgentLib->General->Signing,勾选Automatically manage signing,team选择上个步骤新添的账号
- PROJECT->WebDriverAgent、TARGETS->WebDriverAgentLib->Build settings->Packaging,Product Bundle Identifier使用一个新名字,因为Bundle ID不能重复

- PROJECT->WebDriverAgent、TARGETS->WebDriverAgentRunner->General->Signing,勾选Automatically manage signing,team选择上个步骤新添的账号
- PROJECT->WebDriverAgent、TARGETS->WebDriverAgentRunner->Build settings->Packaging,Product Bundle Identifier使用一个新名字

- 点击Product->Destination,选择要测试的手机
- 点击Product->Scheme,选择WebDriverAgentRunner
- 点击Product->Build,编译工程文件,手机上出现WebDriverAgent应用表示安装成功!
编译时遇到的一些问题
- 编译失败原因1:版本问题 查看当前xcode版本是否支持appium版本
- 编译失败原因2:检查上述步骤是否全部修改正确
- 编译失败原因3:重新编译之前先清除上次编译失败的文件 Product->clean build folder
- 使用appium启动app后闪退,然后一直无限循环启动和闪退的问题:导致这个问题的原因是你的WebDriverAgent没有使用有效的账号编译,所以每次启动app后,app会强制关闭,appium判断WebDriverAgent状态为关闭又会再次启动,app再次关闭。。。。因此无限循环。解决办法是卸载手机上的WebDriverAgent,使用有效的账号进行编译即可。
Appium+ios环境搭建的更多相关文章
- Mac+appium+iOS 环境搭建
Mac+appium+iOS 环境搭建,需要用到的信息如下,参考搭建环境. 1.安装brew,安装介绍:https://jingyan.baidu.com/article/fec7a1e5ec3034 ...
- appium+robotframework环境搭建
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...
- Appium之环境搭建
Appium:是开源.跨平台.多语言支持的移动应用自动化工具 测试对象主要有:① 原生app ② 混合app(h5 + web前端基础) ③ 移动web app 测试对象APPy运行平台: ① io ...
- 全网最全最细的appium自动化测试环境搭建教程以及appium工作原理
一.前言 对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功.appium 自动化测试 ...
- 『与善仁』Appium基础 — 14、Appium测试环境搭建
目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...
- RobotFramwork + Appium+ Andriod 环境搭建
RF+Appium+Android环境搭建教程 - 1.RF安装 一.适用操作系统 Win7 旗舰版Sp1 32位操作系统 RF环境搭建,请参考文档<RobotFramwork安装指南> ...
- React Native iOS环境搭建
前段时间React Native for Android发布,感觉React Native会越来越多的公司开始研究.使用.所以周六也抽空搭建了iOS的开发环境,以便以后利用空闲的时间能够学习一下. 废 ...
- 初探appium之环境搭建
前段时间一直在折腾python的爬虫,想搞接口自动化.但是写了一个月,发现在我现在的这份的工作中根本接触不到接口.所以就想先放下来,先做点目前能够接触到的,也需要做的东西. 东西越来越多,人手不足.自 ...
- Visual Studio 2013 Xamarin for iOS 环境搭建
原文:Visual Studio 2013 Xamarin for iOS 环境搭建 一.Mac安装Xamarin.iOS 1,我的Mac 环境:OSX 10.10.3.Xcode 6.3.2 (使用 ...
随机推荐
- python 小兵(5)参数
我们目前为止,已经可以完成一些软件的基本功能了,那么我们来完成这样一个功能:约x 1 2 3 4 5 pint("拿出手机") print("打开陌陌") pr ...
- Java 高效编程(Effective Java)中文第三版(补档)
来源:sjsdfg/effective-java-3rd-chinese <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过, ...
- 新一代Python包管理工具来了
1 简介 说起Python的包管理工具,大家第一时间想到的肯定是pip.conda等经典工具.但最近我发现了一款新颖的Python包管理工具--pdm,它受到PEP582(https://www.py ...
- 解决死锁之路3 - 常见 SQL 语句的加锁分析 (转)
出处:https://www.aneasystone.com/archives/2017/12/solving-dead-locks-three.html 这篇博客将对一些常见的 SQL 语句进行加锁 ...
- Jackson中处理map中的null key 或者null value 及实体字段中的null value
1.map中有null key时的序列化 当有null key时,jackson序列化会报 Null key for a Map not allowed in JSON (use a convert ...
- UIKit绘图演练
一般使用UIKit给我们提供的绘图来绘制一些文字,图片这些东西. UIKit给我们提供画图的方法底层也是分为四步.所以也必须在drawRect方法当中去写. 1.如何画文字? ...
- 基于Docker部署4.2 版本的zabbix监控平台
准备工作 两台VMware 虚拟机 一台充当zabbix server(安装docker)ip:192.168.73.133 一台充当zabbix agent(安装docker)ip:192.168. ...
- vue中的钩子函数
什么是vue的钩子函数? Vue 实例在被创建时,会经过一系列的初始化过程,初始化过程中会运行一些函数,叫做生命周期钩子函数,通过运用钩子函数,用户在可以在Vue实例初始化的不同阶段添加自己的代码,以 ...
- pytest(4)-测试用例执行顺序
前言 上一篇文章我们讲了在pytest中测试用例的命名规则,那么在pytest中又是以怎样的顺序执行测试用例的呢? 在unittest框架中,默认按照ACSII码的顺序加载测试用例并执行,顺序为:09 ...
- Byobu安装与使用
机子为Ubuntu18 Byobu安装 sudo apt-get install byobu Byobu安装后默认禁用,需要启用Byobu,之后每次登陆自动启用Byobu byobu-enable 还 ...