iOS自动化环境搭建——macaca

摘要:
-----Java开发和调试工具下载地址:2。安装node.js中文网站地址:node-v验证npm安装:npm-vnode.js安装方法2:(1)安装node以访问node.js官方网站(https:(2)验证node以安装node-vnpm-v3。将xcode安装到https:

macaca-java for ios 自动化环境搭建

基础原理解析:https://testerhome.com/topics/6608

一、环境搭建

1、安装eclipse; -----Java开发调试工具 下载地址:https://www.eclipse.org/downloads/ PS:java调试工具,可根据自身情况选择不下载。

2、安装node.js 中文网地址:http://nodejs.cn/ node.js安装方式一: (1)安装brew

/usr/bin/ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)" (2)安装node

brew install node (3)验证node安装

验证node安装:node -v

验证npm安装:npm -v node.js安装方式二: (1)安装node

访问node.js官网(https://nodejs.org/en/download/),下载安装包,一键安装; (2)验证node安装

node -v npm -v 3、安装xcode

进入https://developer.apple.com/download/more/网站找到要下载版本的xcode(xcode安装需要8.3或更高的版本),下载安装。

PS:可以在appstore上下载xcode,但只支持最新版本。 4、安装usbmuxd ----通过 USB 通道测试 iOS 真机

brew install usbmuxd
5、安装ios-webkit-debug-proxy ----被测试应用中包含webview时安装

brew install ios-webkit-debug-proxy 6、安装ios-deploy 装包工具

npm i ios-deploy -g 7、安装carthage

brew install carthage
PS:Macaca XCTestWD 的代码管理使用carthage

8、安装macaca
npm i -g macaca-cli ----macaca命令集

npm i -g macaca-ios ----macaca-ios自动化驱动

macaca doctor ----检查macaca环境 8、安装inspector

npm i app-inspector -g

PS:卸载命令:npm uninstall app-inspector -g 9、安装maven

brew install maven 10、下载iOS自动化框架代码

下载SVN上的iOS自动化框架代码,路径:https://******/product/qa-platform/automation/iOSMacaca/ios_a utomation/;

进入工程目录;

安装工程依赖库:mvn -s settings.xml clean install -DskipTests

如果下载依赖过程中报错,可能是由于mvn -s命令没有生效导致的,建议将根目录下settings.xml中的依赖配置到本地Maven目录下的settings.xml中

本地目录:/usr/local/Cellar/maven/3.3.9/libexec/conf

PS:eclipse与maven的关联配置这里不做介绍,如果后续有需求会补充到此文档。 11、xctestwd配置

macaca的webdriver存在两个,一个为app-inspector调试需要,一个为iOS自动化需要,路径分别为: /usr/local/lib/node_modules/app-inspector/node_modules/xctestwd/XCTestWD/XCTestWD.xcodeproj

----app-inspector启动需要配置

/usr/local/lib/node_modules/macaca-ios/node_modules/xctestwd/XCTestWD/XCTestWD.xcodeproj ----ios自 动化需要配置

macaca的两个webdriver配置相同,下面会主要以macaca-ios为例来介绍配置: (1)安装证书,证书下载地址:https://*******/iQIYITest/product/qa-platform/automation/iOSMacaca/identifier/

ios_automation.p12 (证书密码:123456); (2)下载profile,profile下载地址:https://*******/product/qa-platform

/automation/iOSMacaca/identifier/ios_automation.mobileprovision; (3)使用xcode打开/usr/local/lib/node_modules/macaca-ios/node_modules/xctestwd/XCTestWD/XCTestWD.xcodeproj工程文件; (4)配置XCTestWD,选择XCTestWD target,配置Gerneral中的sign以及Build Settings中的signing,具体见下图:

 

(5)配置

XCTestWDUITests,选择XCTestWDUITeststarget,配置Gerneral中的sign以及Build Settings中的signing,具体见下图:

 

(6)使用xcode打开/usr/local/lib/node_modules/app-inspector/node_modules/xctestwd/XCTestWD/XCTestWD.xcodeproj工程文件,分别按 照(4)(5)进行配置。

PS:如果设备不可用,无法将xctestwd安装到设备上请自行更新profile文件。

二、模拟器运行

1、启动macaca server macaca server --verbose

2、执行用例
新建窗口进入macaca Java的demo工程根目录命令行执行:mvn test

三、inspector使用

1、启动macaca server macaca server --verbose

2、获取device 的udid 设备的udid获取方式如下:

(1)模拟器获取设备udid:xcrun simctl list ; (2)查看模拟器&连接设备udid:instruments-s ; (3)连接设备udid:xcode查看Hardware ->devices -> manage devices 。

3、运行webdriver
打开xcode,选择WebDriverAgentRunner target,将webdriver运行到连接的设备上。

4、launch
app-inspector -u YOUR-DEVICE-ID --verbose

5、使用inspector元素查找工具 浏览器打开:http://current_ip:5678或http://localhost:5678

四、真机运行

1、连接设备

MAC连接能运行测试包的设备

2、启动macaca server

macaca server --verbose

3、修改java代码中的运行配置

目前的运行配置以macaca提供的demo为例。

(1)修改工程文件中的bootstrap/src/test/java/com/javademo/utils/Config.java文件以便于可以真机运行,以下为Config.java文件中的 代码片段:

// ios平台相关信息

publicstaticfinalString IOS_PLATFORM_NAME ="iOS";

publicstaticfinalString IOS_DEVICE_NAME ="Ranli1"; //连接设备的name

publicstaticfinalString IOS_APP = RootPath + File.separator +"app/iQiYiPhoneVideo.app_2017-01-15_18-52.zip";

包的路径,请放置开发包
publicstaticfinalString IOS_UDID ="40911ef567d57fcff5813d774fdeb108eaefde1b"; //连接设备的udid publicstaticfinalString IOS_BUNDLE_ID ="************"; //测试安装包的bundle id

(2)修改工程文件中的bootstrap/src/test/java/com/javademo/cases/BaseTest.java 文件以便于Config.java文件中配置的设备信息何以传递到server,以下为BaseTest.java的代码片段:


4、执行用例
新建窗口进入macaca Java的demo工程根目录命令行执行,命令如下:

全部case运行:mvn test 单条case运行:mvntest-Dtest=packagename.classname(mvntest-Dtest=*****.cases.baseline.offline.function.Test_21674

1) 

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

上篇PHP 字符串长度计算函数strlen() 正确的计算 中文汉字长度的方法 与mb_strlen()应用MATLAB 进行五种边缘检测下篇

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

相关文章

iOS 学习资料整理集合

视频教程(英文)Developing iOS 7 Apps for iPhone and iPad斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS SDK 的使用, 属于 iOS 基础视频iPad and iPhone Application Development该课程的讲师 Paul Hegarty 是斯坦福大学软件工...

Web service 超过了最大请求长度

Web service的默认的请求长度是4M 当内容超过了4M会报错 System.Web.Services.Protocols.SoapException: 运行配置文件中指定的扩展时出现异常。 ---> System.Web.HttpException: 超过了最大请求长度。 在 System.Web.HttpRequest.GetEnti...

一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB

友情提示:搭建之前,你需要先安装 Docker 哟,本文基于您已经安装好 Docker 的基础上! 目录 一、镜像加速 二、快速安装&搭建 Mysql 环境 三、快速安装&搭建 Redis 环境 四、快速安装&搭建 MongDB 环境 五、快速安装&搭建 Elasticsearch 环境 六、总结 一、镜像加速 Dock...

安卓构建内核(转载待查)

构建内核  来源: https://source.android.com/setup/build/building-kernels#downloading 本页详细介绍了为 Android 设备构建自定义内核的流程。以下说明会逐步指导您如何选择正确的源代码,构建内核,以及将结果嵌入到根据 Android 开源项目 (AOSP) 构建的系统映像中。 您可以...

docker日志设置

最近查看docker日志的时候,使用命令docker log -f 会出现日志无限翻滚的情况,这些日志都是打印到控制台的,但是都被docker收集了起来,放到了/var/lib/docker/containers/{容器id}/*.log中,一般默认的日志格式是{容器id}-json.log,如果日志大小不加限制,很可能日志会无限增长最终撑爆磁盘。 首先先...

手把手教你搭建织女星开发板RISC-V开发环境

前言 Windows环境下搭建基于Eclipse + RISC-V gcc编译器的RISC-V开发环境,配合openocd调试软件,可以实现RISC-V内核程序的编译、下载和调试。 准备工作 工欲善其事,必先利其器,RISC-V开发环境搭建之前,要先准备好所需要的软件,如下: jdk-8u101-windows-x64.exe Eclipse IDE f...