文章目录
最近整理了使用 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
快速版
以下提供了一个快速搭建环境的步骤,只需按照步骤上的内容照做即可,无需去考虑为什么这么做,如果想了解操作背后的细节请参考详细版。
- Appstore下载安装Xcode
- xcode-select --install
- 按homebrew官网步骤安装 Homebrew
- brew install python3
- brew install carthage
- brew install --HEAD libimobiledevice
- brew install ideviceinstaller
- brew install node
- npm install -g ios-deploy
- npm i --location=global appium
- npm install @appium/doctor --location=global
- appium driver install xcuitest
- appium-doctor --ios
- https://github.com/appium/appium-inspector, 下载appium-Inspector-mac-xxxx.dmg 并安装
- 安装PyCharm Commniuty版本 https://www.jetbrains.com/pycharm/download/
- 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)