一、环境:
1、Macbook Pro
系统版本:macOS Catalina 10.15.7
2、Xcode
版本:12.1
3、iPhone 真机
型号:iPhone 7
系统版本:iOS 13.6
4、Appium
版本:V1.18.3
二、Appium工作原理
Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。Appium对IOS系统的支持得益于Dan Cuellar’s对于IOS自动化的研究。Appium也集成了Selendroid,来支持老android版本。
Appium支持Selenium WebDriver支持的所有语言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure,或者Perl语言,更可以使用Selenium WebDriver的Api。Appium支持任何一种测试框架。如果只使用Apple的UIAutomation,我们只能用javascript来编写测试用例,而且只能用Instruction来运行测试用例。同样,如果只使用Google的UIAutomation,我们就只能用java来编写测试用例。Appium实现了真正的跨平台自动化测试。
Appium选择了client-server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是appium及webdriver如何做到支持多语言的。
三、安装依赖
1、Xcode安装:Mac电脑的App Store里搜索:Xcode下载;
2、安装Homebrew:
- 检查当前电脑是否安装homebrew:终端执行
brew
如果结果展示如下图示,则代表brew已安装:
- 如果未安装,则终端拷贝执行:
/usr/bin/ruby -e "$(curl –fsSL [https://raw.githubusercontent.com/Homebrew/install/master/install](https://raw.githubusercontent.com/Homebrew/install/master/install))"
3、安装npm
和node.js
:
终端执行brew install npm
即可,如下图示:
分别执行
npm -v
和 node -v
均能找到对应版本即代表安装npm和node.js成功!
4、安装依赖库
- 安装
libimobiledevice
:
brew install libimobiledevice --HEAD
注意:如果没有安装libimobiledevice,会导致Appium无法连接到iOS设备! - iOS 10+系统上使用Appium,则需要安装
iOS-deploy
:
npm install -g ios-deploy
5、Appium-doctor安装
-
npm install appium-doctor -g
-
执行
appium-doctor --ios
,检查与iOS相关的配置是否完整:
检查里面打x
的栏,进行安装即可。如图示,Carthage was NOT found!
,则安装:brew install Carthage
最终出现提示### Diagnostic for necessary dependencies completed, no fix needed. ###
即代表安装完成。
四、安装Appium
1、官方推荐两种方式安装Appium,终端执行npm install -g appium
or 直接下载桌面版Appium Desktop
这里我采用桌面版下载:
命令行 npm install -g appium
安装
Tips:
命令行卸载Appium:npm uninstall -g appium
命令行卸载appium-doctor:npm uninstall -g appium-doctor
2、配置环境变量
- 终端执行:
echo $PATH
,查看当前环境变量配置项; - 输入
vi ~/.bash_profile
,点击i
键执行插入操作,配置信息如下:
export ANDROID_HOME=~/Library/Android/sdk/
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home #jdk安装路径
export PATH=~/bin:$PATH:/usr/local/bin:$ANDROID_HOME/platform-tools/:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
-
esc
退出,然后按键::wq
,enter退出。
五、使用
利用Appium-Python-Client进行iOS的自动化测试。
1、安装python:终端执行 brew install python
2、安装Appium的python依赖库:
git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install
踩坑记录
1、No module named appium
解决方案:第一次运行的时候会报错,是因为没有安装Client
安装地址:git clone git@github.com:appium/python-client.git
下载下来之后,进入根目录,执行:python setup.py install