使用Appium进行iOS的真机自动化测试
windows不支持appium连接ios,只适用于mac
使用Appium进行iOS的真机自动化测试
安装类库
Homebrew
如果没有安装过Homebrew,先安装[ homebrew ]
npm
如果没有安装npm,请移步 [ node.js和npm安装 ]
安装依赖库
brew install libimobiledevice --HEAD
sudo npm install -g ios-deploy --unsafe-perm=true
如果执行sudo npm install -g ios-deploy --unsafe-perm=true报错,执行sudo xcode-select --switch/Applications/Xcode.app/Contents/Developer/
如果没有安装 libimobiledevice,会导致Appium无法连接到iOS的设备,所以必须要安装,如果要在iOS10+的系统上使用appium,则需要安装ios-deploy
appium-doctor 安装
npm install appium-doctor -g
安装后执行appium-doctor –ios指令,可以查看与iOS相关配置是否完整,下图是全部配置都成功,如果出现有一项不正确在执行一次就可以,或者直接跳过
appium-doctor –ios
更新Appium中的WebDriverAgent
- 到WebDriverAgent下载最新版本的WebDriverAgent
- cd 进入下载后的WebDriverAgent文件
- 执行 ./Scripts/bootstrap.sh
- 直接用Xcode打开WebDriverAgent.xcodepro文件
- 配置WebDriverAgentLib和WebDriverAgentRunner的证书
- 连接并选择自己的iOS设备,然后按Cmd+U,或是点击Product->Test
- 运行成功时,在Xcode控制台应该可以打印出一个Ip地址和端口号
- 在网址上输入http://192.168.2.101:8100/status,如果网页显示了一些json格式的数据,说明运行成功。
- 进入到Appium中的WebDriverAgent目录,目录路径如下
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/ - 将自己下载并编译后的WebDriverAgent替换Appium原有的WebDriverAgent
在Appium-Desktop下载传送门中下载最新版本的Appium-Desktop
- 运行Appium-Desktop
- 开启start server
- 点击start new session并且在Desired Capabilities 中输入相关的参数后点击Start Session
- 运行成功后,会弹出一个控制界面,在该界面中可以控制手机上正在运行的程序
利用Appium-Python-Client进行iOS的自动化测试
安装python
brew install python
下载python-client
git clone https://github.com/appium/python-client.git
cd python-client
python setup.py install在git上下载测试文件appiumSimpleDemo
开始自动化测试
- 打开下载后的appiumSimpleDemo文件,打开appiumSimpleDemo.xcodepro程序,配置下TARGET的签名
在appiumSimpleDemo的根目录执行编译指令,编译出一个app文件
xcodebuild -sdk iphoneos -target appiumSimpleDemo -configuration Release,编译成功后app文件的地址会打印在命令行中配置python文件
打开appiumSimpleDemo中的appiumSimpleDemo.py文件,将,修改setup中的几个参数,将app的路径,设备的相关信息修改成当前连接设备的信息。
如果执行appiumSimpleDemo.py报错File"/usr/local/Cellar/python@2/2.7.15/Frameworks/Python.framework/Versions请升级python版本,如果你是iOS开发人员,请谨慎,升级python有可能是Xcode无法打包参考文稿
参考链接
https://www.jianshu.com/p/ae8846736dba
https://github.com/zhshijie/appiumSimpleDemo
https://github.com/appium/appium-desktop/releases/tag/v1.2.0-beta.1
https://blog.csdn.net/iosswift/article/details/48765993
使用Appium进行iOS的真机自动化测试的更多相关文章
- android真机自动化测试
appium执行用例时报错问题: 问题解析: 一般该种情况都是因为来连接了多个设备,验证办法:cmd->执行adb devices 看结果是否是多个devices ,如果是这个问题,停掉多余设 ...
- 【ionic】Mac IOS下真机调试
模拟调试不能保证真机一定没问题,所以真机调试是非常必要的一步 IOS设备 启用设备调试 在IOS设备中(Iphone,Ipad)中开始web检测器 设备->safari->高级->w ...
- Cocos2d-x 关于在iOS平台真机测试的一些注意
下面简单记录一下在最近cocos2d-x项目在iOS平台真机测试和模拟器测试中遇到的一些要注意的地方(使用ipod): 1.图片大小 游戏中基本上都是会用到图片,那么在使用图片的时候要特别注意图片的s ...
- iOS、真机调试
Xcode中IOS.真机测试 一.购买开发者账号(需要有信用卡.每年支付$99.0) 二.直接淘宝购买一个.用于测试,但是不能上传App 1.获取手机的UUID(Identifier xxxxxx9e ...
- appium通过WiFi连接真机进行测试
http://www.th7.cn/Program/Android/201507/514602.shtml appium通过WiFi连接真机进行测试 2015-07-24 19:43:07CSDN ...
- ionic ios项目真机运行-不用开发者账号
ionic ios项目真机运行-不用开发者账号 1. 添加ios平台 ionic platform add ios 2.使用XCODE打开项目 3.使用APPID登录XCODE 打开XCODE账号登录 ...
- Appium Desktop Inspector 安卓真机配置(Windows)
本文是基于 Windows环境 通过Appium Desktop 测试真机,首先要确保测试机已经和电脑正确连接(将手机和电脑通过USB数据线连接,手机打开USB调试) 确认电脑与手机是否连接成功的方法 ...
- 真香!iOS云真机全新上线!
WeTest 导读 众多开发者已经渐渐适应通过调用线上的安卓真机进行远程调试,但是针对iOS设备,则依然存在“iOS设备昂贵”“无法及时采购iOS最新设备”“无法复现iOS历史系统版本”等问题. 为了 ...
- ios app真机测试到上架App Store详细教程-必看
详细操作地址 http://www.applicationloader.net/blog/zh/88.html 苹果iOS APP真机调试测试和上架App Store视频教程 优酷 http://v. ...
随机推荐
- Android开发之模拟器genymotion安装apk出现错误: Install_failed_invalid_URI
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985,转载请说明出处. install failed invalid uri Android开发之模拟器ge ...
- 想在java接口自动化里用上Python的requests?这样做就可以了
相信现在很多的公司自动化测试重点都在接口层,因为接口测试更加接近代码底层,相对于UI自动化,接口自动化有着开发更快.覆盖更全.回报率高等优点. 接口自动化代码实现不难,本质上就是代码模拟发送请求,然后 ...
- [源码解析] Flink的Slot究竟是什么?(2)
[源码解析] Flink 的slot究竟是什么?(2) 目录 [源码解析] Flink 的slot究竟是什么?(2) 0x00 摘要 0x01 前文回顾 0x02 注册/更新Slot 2.1 Task ...
- 当年偶然发现的 Java Bug(JDK 9及之前仍未修复)
背景 15年在中信银行做持续集成时,由于当时的项目是基于三方采购的 Java 配置开发平台做的,平台自己基于 Ant 插件实现了增量和热部署. 其中有几个项目在持续集成部署时,经常发现 Linux 平 ...
- Funny Positive Sequence (思维+前缀)
There are n integers a 1,a 2,…,a n-1,a n in the sequence A, the sum of these n integers is larger th ...
- Python之 最全 Conda、pip 管理环境和安装包、更换源、解决HttpError等一些列问题
在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是环境管理与包管理.所以对虚拟环境进行创建.删除等操作需要使用conda命令. conda install 和 pip ...
- Spring Boot 整合Redis 实现缓存
本文提纲 一.缓存的应用场景 二.更新缓存的策略 三.运行 springboot-mybatis-redis 工程案例 四.springboot-mybatis-redis 工程代码配置详解 ...
- apache-apollo启动报错
启动Apollo后,进入网页版管理中心后报错:500: Server Error https://127.0.0.1:61681/console/index.html 网页抓包 报错:{"c ...
- Linux内存子系统——Locking Pages(内存锁定)
该部分内容可以参考libc man page 3.5 LockingPages 概述 你可以让系统将特定的虚拟内存页与实际页帧相"关联",并保持这样的状态(称为锁定).该部分内存不 ...
- top、ps -ef、ps aux的区别及内容详解
1.top和ps的区别 ps是静态查看进程--------top是动态(持续监控)进程 ps只是查看进程-----------top还可以监视系统性能,如平均负载,cpu和内存的消耗 2.ps -ef ...