iOS 自动化测试踩坑(一): 技术方案、环境配置与落地实践

本文介绍了iOS自动化测试中的特殊定位方式PredicateString,并分享了iOS自动化测试环境配置的步骤,包括Xcode的下载、安装、选择测试框架Appium、解决bundle identifier不唯一的问题以及WebDriverAgent的编译和安装中的常见问题与解决方案。
摘要由CSDN通过智能技术生成

除了通用定位方式外,iOS 还有其他特殊的定位方式,本章节仅介绍 iOS 特有定位。


移动端的自动化测试,最常见的是 Android 自动化测试,我个人觉得 Android 的测试优先级会更高,也更开放,更容易测试;而 iOS 相较于 Android 要安全稳定的多,但也是一个必须测试的方向,这个系列文章记录了 iOS 自动化测试的一些实践。

Xcode 下载地址:https://developer.apple.com/download/
下载安装好的图标如下 :
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FArEhKqR-1650341238037)(https://ceshiren.com/uploads/default/original/3X/e/4/e417f5a8328c221a30e920a5ba243da2080b118f.png)]

先来看目前主流的 iOS 移动测试框架

  • Appium:目前最常用的 App 自动化测试框架,具备跨平台性
    • Calabash-IOS :BDD 模式,没有过多的了解使用
    • KIF:KIF 使用 XCTest 框架,需要对 Objective—C 、Swift 和 XCTest 掌握程度较高,这个对测试工程师来说学习成本太大
    • XCTest:苹果官方提供的 iOS 测试框架,要求同 KIF 一致
    • WebDriverAgent:由 Facebook 推出的一款 iOS 移动测试框架,也是 Appium 跨平台的底层驱动;WDA 本身也是一个完整的基于 webdriver 协议的框架
    • Uiautomation :在 Xcode8 后废弃

之前的 Android 自动化我们选择的是 Appium 框架作为底层的驱动框架,当时就介绍说 Appium 的优点之一就是跨平台性,其实也就是因为其底层封装了 WebDriverAgent,而我们期望的是:

  • 做一套可以跨平台支持的 App 测试方案,可以在公司的 Android 和 iOS 版本间自由切换测试
    • 并且在编程语言上要是测试工程师常用的 Java 或 Python,降低学习成本
  • 综上原因,那么最终的选择依然是 Appium。

Appium 官方提供了一个演练的 iOS App,以此为例进行演示。

Appium 演练 example 地址:
https://github.com/appium/ios-uicatalog

将项目 clone 到本地后用 Xcode 打开,注意打开 iOS 项目要打开以 .xcodeproj 结尾的文件 。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yEFc9CKu-1650341241901)(https://ceshiren.com/uploads/default/original/3X/c/6/c655f01ceee42a3fc1a7d1cf17640e585645d923.png)]

插入真机,Xcode 上选择真机,在Singing 中添加 AppleID 作为 account,生成一个本地的 Provisioning Profile 和设备上的证书

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6e7ViwGl-1650341243082)(https://ceshiren.com/uploads/default/original/3X/3/7/37fa647dc3c0217da4cd9d6454873d90350920a0.png)]

踩坑:你可能会遇到如下的错误信息

[外链图片转存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值