iOS 自动化测试 (1):基本环境准备 - Mac平台 Appium + Python3

最近整理了使用 Appium + Python3 进行 iOS 测试自动化时,基本的环境配置清单。具体如下,供参考:

基本环境的配置清单

参考以下的环境配置清单,可以对在MacOS上搭建Appium+Python3的环境所需的环境有一个概览。根据这个清单来对照自己的环境是否已经完备。

  • 操作系统:MacOS
  • 配置基础环境
    • Xcode
    • Xcode Command Line Tools
    • Homebrew
    • Carthage
    • ios-deploy
    • libimobiledevice
    • ideviceinstaller
  • 安装配置Appium for iOS环境
    • Node & npm
    • appium
    • xcuitest driver
    • appium-doctor
    • appium-inspector
  • 编译安装: WebDriverAgent
  • IDE: PyCharm CE
  • 编程语言环境:Python3
    • Python 3.x
    • pip3
    • Appium-Python-Client

快速版

以下提供了一个快速搭建环境的步骤,只需按照步骤上的内容照做即可,无需去考虑为什么这么做,如果想了解操作背后的细节请参考详细版。

  1. Appstore下载安装Xcode
  2. xcode-select --install
  3. 按homebrew官网步骤安装 Homebrew
  4. brew install python3
  5. brew install carthage
  6. brew install --HEAD libimobiledevice
  7. brew install ideviceinstaller
  8. brew install node
  9. npm install -g ios-deploy
  10. npm i --location=global appium
  11. npm install @appium/doctor --location=global
  12. appium driver install xcuitest
  13. appium-doctor --ios
  14. https://github.com/appium/appium-inspector, 下载appium-Inspector-mac-xxxx.dmg 并安装
  15. 安装PyCharm Commniuty版本 https://www.jetbrains.com/pycharm/download/
  16. pip3 install Appium-Python-Client

详细版

以下内容帮助更详细的了解每一个环境配置的作用,以及安装、验证等细节。

PyCharm CE

PyCharm是一种Python集成开发环境(IDE),可从官网下载直接安装Community版本 https://www.jetbrains.com/pycharm/download/

Python3

brew install python3
python3 --version

Xcode

用于编译WebDriverAgent到iOS设备中 Xcode是MacOS平台的IDE,用于开发MacOS应用和iOS移动端应用,在本环境(Appium for iOS)搭建时需要用Xcode编译WebDriverAgent运行在设备中。Xcode可直接在Apple Store里面搜索下载安装即可。注意Xcode与MacOS之间的版本匹配关系:Xcode System Requirements and supported SDK https://developer.apple.com/support/xcode/

Xcode Command Line Tools

Xcode Command Line Tools 本质是一个命令行工具包, 内部有很多有用的工具,如 Apple LLVM compiler、Make等等,并且并不是只有开发 Apple 应用程序才需要用到这些工具包,当我们使用 Homebrew在安装一些 python库或者js库时,都会提示需要Command Line Tool。
安装可以有两种方法

  • 官网下载dmg
  • xcode-select --install
    验证用命令:xcode-select --version
    xcode-select: error: command line tools are already installed, use “Software Update” to install updates
    (如果安装的时候显示已安装,出现这句话是这是符合预期的)

Homebrew

按官网的方法安装即可 https://brew.sh/
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”

Carthage

Carthage用来管理项目依赖, 类似于 Java 中的 Maven;后面编译WebDriverAgent项目时就需要用到它​​​​​​​
brew install carthage

ios-deploy

ios-deploy是一个在终端安装和调试iOS应用的第三方开源库。它不依赖于Xcode,就能实现从命令行安装和调试iOS应用程序,可以在非越狱的设备工作, 使用时需要开发者证书和Xcode7以上版本。
npm install -g ios-deploy
备注:需要先安装node & npm 才能安装ios-deploy包, brew install node
具体ios-deploy的说明,参考: https://www.jianshu.com/p/86a6163833f8

libimobiledevice

Appium 的 iOS 真机设备支持依赖于一个第三方的软件套件,名为 libimobiledevice。libimobiledevice类似安卓的adb,这个库提供了一种与 iOS 设备进行通信的方法,使得 Appium 能够与设备上的应用程序进行交互。
libimobiledevice 支持与各种类型的 iOS 设备进行通信,包括 iPhone、iPad 和 iPod touch。它提供了一组 API,这些 API 允许 Appium 与设备上的应用程序进行交互,包括启动应用程序、模拟用户输入和访问设备上的文件。
在使用 Appium 进行 iOS 真机测试时,你需要确保 libimobiledevice 已经正确安装并配置在你的测试环境中。你还需要在设备上安装相应的证书和配置,以允许 Appium 与设备进行通信。这些步骤通常在 Appium 的配置过程中完成。
需要注意的是,由于 libimobiledevice 是基于 LGPL 许可证发布的开源软件,因此它可能存在一些限制或者不稳定性。如果你遇到了问题,可以尝试查看 Appium 和 libimobiledevice 的文档或者社区支持来寻求帮助。
brew install --HEAD libimobiledevice

ideviceinstaller

ideviceinstaller可以用于查看已经安装的软件和进行安装、卸载操作。但它不能单独运行,需要依赖libimobiledevice库。
brew install ideviceinstaller

node & npm

brew install node
node -v
npm -v

appium

Appium是一个开源测试自动化框架,适用于原生、混合或移动Web应用程序的自动化测试工具。Appium使用WebDriver协议驱动iOS、Android等应用程序,支持多平台(如Android、iOS等),并且可以在多语言(如python、java、ruby、js、c#等)环境下运行。 Appium选择了Client/Server的设计模式,只要client能够发送http请求给server,那么client用什么语言来实现都是可以的。Appium基于WebDriver协议,并进行了扩展。它的秉持的原则是:不需要重新编译或者修改应用;不被一种语言或者框架约束;不重复造轮子;开源免费。
npm i --location=global appium
appium -v
whereis appium

XCUITest Driver

Appium,和Selenium一样,是通过外部驱动软件来驱动应用程序。所以这里需要安装XCUITest Driver。首先,可以通过命令appium driver list --installed查看是否已经安装了xcuitest。如果未安装,就运行:
appium driver install xcuitest
安装好后,再通过命令验证是否已安装成功
xxx:~ xxx$ appium driver list --installed
✔ Listing installed drivers

  • xcuitest@4.33.2 [installed (npm)]

appium-doctor

appium-doctor是一个用于验证appium安装环境的工具,可以诊断出Node、iOS以及Android环境配置方面的常见问题。这个工具采用node.js编写,通过npm可以在Terminal中进行安装。安装完成后,执行appium-doctor命令即可对Appium的环境依赖情况进行检测。通过指定–ios或–android参数,可以只针对对应的操作系统环境配置进行检测。如果不指定,则同时对iOS和Android环境进行检测。
npm install @appium/doctor --location=global
appium-doctor --ios

appium-inspector

Appium Inspector是Appium自带的一个元素定位工具,它可以帮助你查找和定位应用程序的元素。
https://github.com/appium/appium-inspector, 下载Appium-Inspector-mac-2023.8.1.dmg并安装

WebDriverAgent

WebDriverAgent是适用于iOS的WebDriver服务器实现,它允许启动和终止应用程序,点击和滚动视图或确认屏幕上的视图状态。它通过链接XCTest.framework和调用Apple的API来直接在设备上执行命令。具体WebDriverAgent编译与安装,参见:iOS 自动化测试 (2):基本环境准备 - 安装WebDriverAgent(WDA)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值