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的更多相关文章

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

    1.macOS相关库安装 libimobiledevice > brew install libimobiledevice 使用本机与苹果iOS设备的服务进行通信的库. ideviceinsta ...

  2. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

  3. appium ios真机自动化环境搭建&运行(送源码)

    appium ios真机自动化环境搭建&运行(送源码) 原创: f i n  测试开发社区  6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...

  4. MAC自动化环境搭建

    UI自动化环境搭建 第一阶段:配置appium环境硬件配置mac系统电脑 java环境sunjiedeMacBook-Air:~ vicent$ java -versionjava version & ...

  5. 基于python的App UI自动化环境搭建

    Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows:1.系统变量→新建 JAVA_HOME 变量E:\Java\jdk1.7.0 jdk安装目录 2.系统变量 ...

  6. 手机APP自动化环境搭建

    1 摘要 近年来,随着移动应用从数量上和逻辑复杂程度上的增长,以及产品发布周期的紧缩,使得回归测试迫在眉睫,鉴于此APP自动化测试变得越来流行,当前主流的APP自动化工具有:Appium.Roboti ...

  7. 团队自动化环境搭建与管理--php博弈

    我是方少,很开心与大家日后与大家交流技术上面的一些想法和一些业务上的分享.以前从来没写过博客,因为觉得不重要吧,如今觉得有必要沉淀一些想法和回忆.好了费话不多说. 先上图: 业务问题:在每次新伙伴加入 ...

  8. React Native IOS ---基础环境搭建(前端架构师)

    React Native -IOS 开发环境搭建 web架构(基础) 安装依赖 * 必须安装的依赖有:Node.Watchman 和 React Native 命令行工具以及 Xcode. npm 镜 ...

  9. Java自动化环境搭建笔记(3)

    Java自动化环境搭建笔记(3) 自动化测试 自动化的环境已经基本搭建完成,后续可对BaseTester基类以及工具类进行扩展.下面便是持续集成的环境的搭建: Jenkins安装 git安装 源码上传 ...

随机推荐

  1. 201521123084 《Java程序设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1. 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自 ...

  2. 201521123091 《Java程序设计》第11周学习总结

    Java 第十一周总结 第十一周的作业. 目录 1.本章学习总结 2.Java Q&A 3.码云上代码提交记录及PTA实验总结 4.课后阅读 1.本章学习总结 1.1 以你喜欢的方式(思维导图 ...

  3. 201521123107 《Java程序设计》第2周学习总结

    第2周作业-Java基本语法与类库 1.本周学习总结 要点主要有: (1)String类 String类是本周的一个重点,String类的对象是不可变的,即String对象后就在内存中开辟了一个字符串 ...

  4. 201521123076 《Java程序设计》第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...

  5. 201521123054 《Java程序设计》第14周学习总结

    1. 本周学习总结 2. 书面作业 1. MySQL数据库基本操作 1.1建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名) 1.2在自己建立的数据库上执行常见SQL语句 ...

  6. 201521123117 《Java程序设计》第10周学习总结

    1. 本周学习总结 2.2. 书面作业 1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? 只要try执行了之后,finall ...

  7. PHOTOSHOP常用快捷键大全

    PHOTOSHOP常用快捷键大全一.文件新建 CTRL+N打开 CTRL+O 打开为 ALT+CTRL+O关闭 CTRL+W保存 CTRL+S 另存为 CTRL+SHIFT+S另存为网页格式 CTRL ...

  8. Java: server/client 心跳机制实现 示例

    心跳机制 心跳机制是定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制. 大部分CS的应用需要心跳机制.心跳机制一般在Server和Client都要实现,两者实现原理 ...

  9. Zookeeper-5分钟快速掌握分布式应用程序协调服

    一.Zookeeper 安装 1.zookeeper支持brew安装. ➜ ~ brew info zookeeper zookeeper: stable (bottled), HEAD Centra ...

  10. 如何在CentOS上安装一个2048小游戏

    如何在centos上安装一个2048小游戏 最近在学习CentOS系统,就琢磨着玩点什么,然后我看到有人在玩2048小游戏,所有我就在想,为啥不装一个2048小游戏搞一下嘞,于是乎,我就开始工作啦 由 ...