iOS自动化环境搭建(超详细)

摘要:
Iosdeploy˃brewinstalliosdeployiosdeploy不依赖XCODE来安装和调试Ios应用程序。节点&npm˃brewinstallnode˃brewinstallnpmappium doctornpminstall gappium doctor验证appium环境e-beta.app/Contents/DevelopmentinfoAppiumDoctorXcode命令行工具安装在:/Applications/Xcode beta.app/Contents/DeveloperinfoAppiumDoctorDevToolsSecuritiesenabled.infoAppiumDr.TheAuthorizationDB已正确安装。infoAppium DoctorCarthage位于:/usr/local/bin/carthage。安装版本为:0.33.0infoAppium-DoctorHOMEssetto:/Users/tech。。。2.XCodeXcode是iOS开发环境,可在应用商店中下载和安装。WebDriverAgent是在模拟器中运行的iOS版WebDriver服务器。通过gitclone克隆项目。输入要执行shell脚本的项目目录:/WebDriverAgent˃。/Scripts/bootstrap.sh通过xcode导入WebDriverAgent项目,以查找buildSettings--˃打包--˃ProductBundleIdentifier选项。将值修改为唯一识别的字符串。

1.macOS相关库安装

  • libimobiledevice
> brew install libimobiledevice

使用本机与苹果iOS设备的服务进行通信的库。

  • ideviceinstaller
brew install ideviceinstaller

获取设备udid、安装app、卸载app、获取bundleid

  • carthage
> brew install carthage

第三方库管理工具。

  • ios-deploy
> brew install ios-deploy

ios-deploy 不依赖于XCODE,进行安装和调试IOS应用程序。

  • node & npm
> brew install node
> brew install npm
  • appium-doctor
npm install -g appium-doctor
  • 验证appium环境
> appium-doctor

info AppiumDoctor Appium Doctor v.1.11.0
info AppiumDoctor ### Diagnostic for necessary dependencies starting ###
info AppiumDoctor  ✔ The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor  ✔ Node version is 10.15.1
info AppiumDoctor  ✔ Xcode is installed at: /Applications/Xcode-beta.app/Contents/Developer
info AppiumDoctor  ✔ Xcode Command Line Tools are installed in: /Applications/Xcode-beta.app/Contents/Developer
info AppiumDoctor  ✔ DevToolsSecurity is enabled.
info AppiumDoctor  ✔ The Authorization DB is set up properly.
info AppiumDoctor  ✔ Carthage was found at: /usr/local/bin/carthage. Installed version is: 0.33.0
info AppiumDoctor  ✔ HOME is set to: /Users/tech
...

2.XCode

Xcode 是iOS开发环境,可以到app store 下载安装。

iOS自动化环境搭建(超详细)第1张

Xcode 的安装需要macOS升级到最新的版本,如果你的系统不是最新版本需要升级。

iOS自动化环境搭建(超详细)第2张

WebDriverAgent

在模拟器中运行的用于iOS的WebDriver服务器。

https://github.com/appium/WebDriverAgent

该项目由facebook开发,appium拉了个分支来维护,更新上超过了facebook,所以我们用appium的分支。

  • 通过git clone 将项目克隆下来。

  • 进入项目目录执行shell脚本:

../WebDriverAgent>  ./Scripts/bootstrap.sh
  • 通过xcode导入WebDriverAgent 项目

iOS自动化环境搭建(超详细)第3张

  • 找到build Settings ---> packaging---> Product Bundle Identifier 选项。将值修改为唯一识别的字符串。

iOS自动化环境搭建(超详细)第4张

  • Build Phases ---> Copy frameworks ---> 检查框架。
    • RoutingHTTPServer.framework
    • YYCache.framework

iOS自动化环境搭建(超详细)第5张

如果没有这两个框架,点击下方加号+添加。

3.iPhone

准备一台iPhone手机,通过数据线与PC进行连接。

1.选择连接的手机

iOS自动化环境搭建(超详细)第6张

2.菜单栏:product --> Scheme --> WebDriverAgentRunner

iOS自动化环境搭建(超详细)第7张

3.菜单栏:Product---> Test

iOS自动化环境搭建(超详细)第8张

4.在iPhone手机上打开设置:通用--> 描述文件与设备管理--> 开发者App ,设置Apple Development xxxxx 在此iPhone上受信任。
iOS自动化环境搭建(超详细)第9张

5.检查日志是否有错误。
iOS自动化环境搭建(超详细)第10张

4.iproxy

安装 usbmuxd,他自带了iproxy小工具,iproxy将设备上的端口映射到电脑上的某个端口。

> brew install usbmuxd
> iproxy 8100 8100

http://localhost:8100/status
iOS自动化环境搭建(超详细)第11张

5.开始测试

终于可以开始测试了,你有几种选择。

我选 openatx/facebook-wda,因为它更加简单。

安装:

pip3 install -U facebook-wda

测试脚本:

import wda

c = wda.Client('http://localhost:8100')
print(c.status())

结果:

{'message': 'WebDriverAgent is ready to accept commands', 'state': 'success', 'os': {'name': 'iOS', 'version': '13.4', 'sdkVersion': '13.4'}, 'ios': {'simulatorVersion': '13.4', 'ip': '192.168.1.8'}, 'ready': True, 'build': {'time': 'Mar 28 2020 23:01:36', 'productBundleIdentifier': 'com.facebook.WebDriverAgentRunner'}, 'sessionId': 'F951380E-7219-4EA9-84FC-CC8BE78A12F8'}

好了,可以开始你的iOS自动化测试了。

免责声明:文章转载自《iOS自动化环境搭建(超详细)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java zip打包与乱码的解决iOS自动化探索(十)代码覆盖率统计下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WireX:Android智能手机组成的DDoS僵尸网络

阿里聚安全小编曾多次报道了官方应用市场出现恶意软件的事件,让大家在下载APP的时候三思而后行。 最近多家安全公司组成的安全研究小组发现了一个新的、传播广泛的僵尸网络,它是由成千上万的Android智能手机组成。 该僵尸网络名为WireX,被杀毒工具检测识别为“Android Clicker”,主要包括运行从谷歌Play商城下载的数百个恶意软件的Andro...

Gentoo 包管理器: Emerge使用方法

安装与卸载 安装软件 emerge --ask --verbose package_name 只下载源码 emerge -f package_name 软件包卸载 emerge --unmerge package_name 清除所有失去依赖关系的软件包(清理系统) emerge --depclean 更新与同步 更新系统中的...

Geode/Gemfire学习笔记(一)环境搭建、快速上手

Geode/Gemfire 是Pivotal公司开发的一款开源的、分布式NoSql内存数据库,可用来进行完成分布式缓存,数据持久化,分布式事物、动态扩展等功能。 他的优点和特性: 性能扩展,线性扩展,事物和读写低延迟 通过全局的分布式应用进行一致的数据库操作 高可用性和高伸缩性,全局规模 强大的开发者特性 简单的分布式节点管理 动态复制和分区技术 可快速...

【转】关于WannaCry勒索蠕虫的安全预警

【转载】如有侵权或者风险,请及时联系我,我会删除。 自5月12日起一款名为WannaCry的蠕虫勒索软件袭击全球网络,这被认为是迄今为止最巨大的勒索交费活动,影响到近百个国家上千家企业及公共组织。目前国内多家企事业单位相继被攻陷,其中包括中石油加油站、浙江传媒大学、中国计量学院、贺州学院、桂林电子科技大学、桂林航天工业学院、大连海事大学、山东大学等。 一、...

微信小程序高级基础

微信小程序高级基础 微信小程序的注册和服务器配置: 小程序是什么呢?小程序是一种不需要下载安装就可以使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下就可以打开应用,也体现了龙哥"用完即走"的理念,用户不用关心是否安装太多应用的问题,应用将无处不在,随时可用,而且又不用安装卸载。 微信小程序其实是微信提高了自身对于HTML5特性支持的能力,...

macOS 10.13允许任何来源开启方法

软件下载网站: http://www.pc6.com/ 软件安装问题: macOS 10.13允许任何来源开启方法: 如果需要恢复允许“任何来源”的选项,即关闭系统的Gatekeeper,我们可以在“启动台(系统界面下方Dock栏中的小火箭图标)”—“其他”—“终端”中使用spctl命令:(复制粘贴下面的代码到终端,再回车即可) sudo spctl --...