Macaca入门篇(iOS)

一、Macaca环境

 iwm@bogon  ~  macaca doctor

************************************
*  version 2.0.6 is outdate        *
*  run: npm i -g macaca-cli@2.0.9  *
************************************

More information: https://macacajs.github.io/changelog.html


  macaca-doctor version: 2.0.2


  Node.js checklist:

  node env: /usr/local/bin/node
  node version: v6.11.1

  iOS checklist:

  Xcode Command Line Tools is ready, version: 2347.
  xcodebuild version: 8.3.3
  iproxy[usbmuxd] is installed at: `/usr/local/bin/iproxy`
  ios_webkit_debug_proxy is installed at: `/usr/local/bin/ios_webkit_debug_proxy`
  carthage is installed, version: 0.24.0

  Android checklist:

  JAVA version is `1.8.0_131`
  JAVA_HOME is set to `/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home`
  ANDROID_HOME is set to `/Users/iwm/Downloads/android-sdk-macosx`
  Platforms is set to `/Users/iwm/Downloads/android-sdk-macosx/platforms/android-23`
  ADB tool is set to `/Users/iwm/Downloads/android-sdk-macosx/platform-tools/adb`
  gradle is installed, version: 4.1

  Installed driver list:

  android: 2.0.36
  chrome: 1.0.6
  electron: 1.1.11
  ios: 2.0.23

二、iOS实例

1. 下载案例及App

可以去https://github.com/macaca-sample下载。

下载后,进入macaca-test-sample目录,执行:

2

npm i

2. macaca-test-sample目录结构解析

1

2

3

4

5

6

7

8

9

10

./

├── HISTORY.md

├── LICENSE

├── Makefile

├── README.md

├── app

├── circle.yml

├── macaca-test

├── node_modules

└── package.json

  • app:

    • 存放测试中使用到的app:ios-app-bootstrap.zip。(无framework)
    • ps:从git上下载的大小只有几十K,导入到xcode工程后,提示缺少3个framework。
    • 124759_G5my_1032182.png
    • 有两种解决方式:
    • 1、直接运行macaca run -verbose,项目会自动下载缺少的framework。可能会出现长时间无响应或导致下载失败。
    • 2、查看工程的mobile-app-sample.test.js,得到ios-app-bootstrap.zip全量包(带有framework)下载地址,将其下载到本地。
    • 124455_otY2_1032182.png
    • 将远程下载地址修改为本地zip所在目录,如下图所示:
    • 124326_F7pZ_1032182.png
  • macaca-test:

    1

    2

    3

    4

    5

    ./

    ├── macaca-desktop-sample.test.js # 桌面浏览器测试案例...作者的想法有点多啊-_-!

    ├── macaca-mobile-browser-sample.test.js # 移动端浏览器测试案例

    ├── macaca-mobile-sample.test.js # 移动端App测试案例

    └── mocha.opts

    如果单纯要看iOS端App测试效果的话,可以把macaca-mobile-sample.test.js之外的*.js都干掉。

3. 运行第一个测试案例

1

macaca run --verbose

iwm@bogon  ~/sample-nodejs   master ●  platform=ios macaca run -d ./macaca-test/mobile-app-sample.test.js

************************************
*  version 2.0.6 is outdate        *
*  run: npm i -g macaca-cli@2.0.9  *
************************************

More information: https://macacajs.github.io/changelog.html

>> webdriver sdk launched

>>   macaca mobile sample

/usr/local/lib/node_modules/macaca-ios/node_modules/_ios-device@0.1.4@ios-device/node_modules/ios-deploy/build/Release/ios-deploy
CFBundleIdentifier is xudafeng.ios-app-bootstrap
Get bundleId xudafeng.ios-app-bootstrap from plist /var/folders/4v/19tb9yfs367804yt2wzd7vjh0000gp/T/ios-app-bootstrap.app/Info.plist
>> xctestwd start with port: 8001
>> XCTestWD version: 1.1.3
>> current window size {"height":568,"width":320}

 18125012_Tvfl.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴为您介绍GUI自动化测试工具。这些工具可以帮助开发人员和测试人员自动化执行各种GUI测试,并提高测试效率。根据您的要求,以下是这些工具的方法原理、使用场景、特点和优缺点以及官网地址的概述。 1. 网易Airtest 方法原理:基于Python语言,通过脚本控制模拟器或真实设备,模拟用户的操作,验证应用程序的响应。 使用场景:适用于Android/iOS/Windows平台的自动化GUI测试、性能测试、游戏测试等。 特点和优缺点:支持多种脚本语言,易于使用和维护,支持插件扩展。但是,性能和稳定性方面有待提高。 官网地址:https://airtest.netease.com/ 2. 美团AlphaTest 方法原理:一种端到端的自动化测试平台,结合人工智能、机器学习和大数据分析等技术,通过构建最优化测试用例来提高测试效率。 使用场景:适用于Web应用程序自动化GUI测试、移动应用程序GUI测试等。 特点和优缺点:集成了AI技术,测试用例智能化生成,测试效率高。但是,需要学习AlphaStudio生成测试脚本。 官网地址:https://alphatest.meituan.com/ 3. 阿里Macaca 方法原理:基于Node.js和WebDriver协议,支持Android/iOS/Windows平台,提供自动化GUI测试能力。 使用场景:适用于Web应用程序、移动应用程序和桌面应用程序GUI测试等。 特点和优缺点:低门槛,易于使用和快速上手,支持多种语言和多种平台。但是,功能和性能与其他工具相比有所欠缺。 官网地址:https://macacajs.com/ 4. 腾讯QTA 方法原理:基于C++语言,腾讯自主研发,支持多种平台,提供自动化GUI测试能力。 使用场景:适用于桌面应用程序GUI测试、Web应用程序自动化测试。 特点和优缺点:支持多平台、多语言,易于UI定位和性能测试。但是,学习成本相对较高。 官网地址:http://qta.qq.com/ 5. Sikuli 方法原理:基于Python语言,通过图片识别技术识别屏幕上的图像或文本,并执行预定的操作。 使用场景:适用于桌面应用程序自动化GUI测试。 特点和优缺点:使用方便,易于上手,支持图像和文本识别。但是,对于图像噪声和特效较敏感,需要手动设置图像区域。 官网地址:http://www.sikuli.org/ 6. Selenium 方法原理:基于WebDriver协议,提供自动化GUI测试能力,支持多种浏览器和多种平台。 使用场景:适用于Web应用程序GUI测试。 特点和优缺点:支持多种语言,易于使用和维护,集成了多种第三方工具。但是,对于浏览器兼容性和性能测试方面有待提高。 官网地址:https://www.selenium.dev/ 7. Katalon Studio 方法原理:基于WebDriver,提供自动化GUI测试能力,支持多种语言和多种平台。 使用场景:适用于Web应用程序GUI测试、Web服务测试、API测试等。 特点和优缺点:易于学习和使用,支持多种语言和多种平台,集成了多种功能和插件。但是,需要付费订阅才能使用所有功能。 官网地址:https://www.katalon.com/ 希望以上信息对您有所帮助。如果您有需要了解更多的信息,欢迎随时与我进行交流。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值