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的自动化测试

开始自动化测试

  • 打开下载后的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://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143450141843488beddae2a1044cab5acb5125baf0882000

https://blog.csdn.net/iosswift/article/details/48765993

使用Appium进行iOS的真机自动化测试的更多相关文章

  1. android真机自动化测试

    appium执行用例时报错问题: 问题解析: 一般该种情况都是因为来连接了多个设备,验证办法:cmd->执行adb devices  看结果是否是多个devices ,如果是这个问题,停掉多余设 ...

  2. 【ionic】Mac IOS下真机调试

    模拟调试不能保证真机一定没问题,所以真机调试是非常必要的一步 IOS设备 启用设备调试 在IOS设备中(Iphone,Ipad)中开始web检测器 设备->safari->高级->w ...

  3. Cocos2d-x 关于在iOS平台真机测试的一些注意

    下面简单记录一下在最近cocos2d-x项目在iOS平台真机测试和模拟器测试中遇到的一些要注意的地方(使用ipod): 1.图片大小 游戏中基本上都是会用到图片,那么在使用图片的时候要特别注意图片的s ...

  4. iOS、真机调试

    Xcode中IOS.真机测试 一.购买开发者账号(需要有信用卡.每年支付$99.0) 二.直接淘宝购买一个.用于测试,但是不能上传App 1.获取手机的UUID(Identifier xxxxxx9e ...

  5. appium通过WiFi连接真机进行测试

    http://www.th7.cn/Program/Android/201507/514602.shtml appium通过WiFi连接真机进行测试   2015-07-24 19:43:07CSDN ...

  6. ionic ios项目真机运行-不用开发者账号

    ionic ios项目真机运行-不用开发者账号 1. 添加ios平台 ionic platform add ios 2.使用XCODE打开项目 3.使用APPID登录XCODE 打开XCODE账号登录 ...

  7. Appium Desktop Inspector 安卓真机配置(Windows)

    本文是基于 Windows环境 通过Appium Desktop 测试真机,首先要确保测试机已经和电脑正确连接(将手机和电脑通过USB数据线连接,手机打开USB调试) 确认电脑与手机是否连接成功的方法 ...

  8. 真香!iOS云真机全新上线!

    WeTest 导读 众多开发者已经渐渐适应通过调用线上的安卓真机进行远程调试,但是针对iOS设备,则依然存在“iOS设备昂贵”“无法及时采购iOS最新设备”“无法复现iOS历史系统版本”等问题. 为了 ...

  9. ios app真机测试到上架App Store详细教程-必看

    详细操作地址 http://www.applicationloader.net/blog/zh/88.html 苹果iOS APP真机调试测试和上架App Store视频教程 优酷 http://v. ...

随机推荐

  1. android 数据绑定(5) kotlin 的binding bug

    1.BR找不到,无法自动更新 1.1 描述 https://stackoverflow.com/questions/57983508/android-studio-kotlin-databinding ...

  2. Ajax提交数据判断员工编号是否存在,及自动填充与员工编号所对应的员工姓名。

    JSP页面中所需要的JavaScript事件及Ajax <script type="text/javascript"> function checkEmpNo(id){ ...

  3. C011:分数相加

    代码: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int up1,down1,up2,down2; do ...

  4. 为系统增加删除swap空间

    增加 1.创建/home/swap这么一个分区文件.文件大小是512000个block,一般情况下1个block为1k,所以这里空间是512M,这个空间大小自己随意定义. dd if=/dev/zer ...

  5. PDF启动增加字段

    ALTER TABLE `cnoa_system_fs` ADD `reviewStatus` INT(1) NOT NULL DEFAULT '0' AFTER `isArchive`;ALTER  ...

  6. [LeetCode]621. 任务调度器(贪心)

    题目 给定一个用字符数组表示的 CPU 需要执行的任务列表.其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务.任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完.CP ...

  7. JS中call()、apply()、bind()的用法

    其实是一个很简单的东西,认真看十分钟就从一脸懵B 到完全 理解! 先看明白下面: 例1 obj.objAge;  //17 obj.myFun()  //小张年龄undefined 例2 shows( ...

  8. 使用U盘的PE系统安装Windows10操作系统 - 初学者系列 - 学习者系列文章

    今天闲来无事,就把windows 10的安装再重写一个文(以前写过一个:安装免费的正版Windows10操作系统 - 初学者系列 - 学习者系列文章  ). 1.  制作一个WinPE的U盘. 相信现 ...

  9. k8s健康检查(七)

    默认的健康检查 强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性.自愈的默认实现方式是自动重启发生故障的容器.除此之外,用户还可以利用 Liveness 和 Readiness ...

  10. dubbo负载均衡

    dubbo 一.同一个dubbo生产者服务怎么分布在不同服务器,且能进行负载均衡? 只要两个服务的id,接口,实现类一致(且dubbo:application名称一致,表示同一应用),注册到同一zoo ...