WebDriverAgent配置


关于WebDriverAgent

WebDriverAgent是Facebook开发的IOS端自动化测试工具,在Github上开源:

facebookarchive/WebDriverAgentAppium项目采用WebDriverAgent作为IOS端App自动化的引擎(类似于Android平台上的UIAutomator作用),WebDriverAgent通过在IOS端实现了WebDriver协议能够远程控制IOS设备,通过它能够进行启动、杀死应用,点击或者滚动等操作。

WebDriver协议

WebDriver是一套基于HTTP协议的JSON格式规范,因为Android、IOS、web网页端都有自己的UI操作实现逻辑,所以需要统一的规范能够对这些平台进行操作来屏蔽平台的差异。通过WebDriverAgent我们可以通过相同的API来对这些平台进行自动化操作,比如我们熟悉的Selenium、Appium都是实现了WebDriver协议

在Appium和IOS系统迭代发展过程中,Appium并不是一直使用WebDriverAgent作为IOS端的自动化测试引擎。

  • 在IOS 9之前使用UIAutomation作为自动化引擎,该引擎有许多缺陷,比如只能在单台Mac电脑上测试单台设备
  • IOS 9.3使用了XCUITest
  • IOS 9.3之后Appium就开始采用WebDriverAgent方案了

需要注意的是:目前官方Facebook已经没有在维护WebDriverAgent了,所以如果使用Facebook的WebDriverAgent有可能不适配后续的IOS版本及Appium

Appium项目有内置了WebDriverAgent,而且也在同步修复BUG更新中,所以强烈建议使用Appium内置的WebDriverAgent :appium的webdriveragent

相关库安装

Homebrew

Homebrew是Mac平台的软件管理软件,它可以使我们更加容易安装一些其他软件,仅需要执行简单的安装命令,就能下载安装所需要的软件,省去了下载、解压、拖拽等繁琐的步骤。

官方提供了Homebrew的安装命令,但是因为国内网络的问题导致不能成功

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

通过镜像安装方式:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

(推荐使用中科大的镜像源)

Carthage

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

brew install carthage carthage version

ios-deploy

ios-deploy一个不需要用Xcode安装和调试应用的命令行工具。需要一个有效的开发者证书,需要 Xcode 7以上的版本。终端输入命令进行安装:

brew install ios-deploy 

ideviceinstaller

ideviceinstaller是一个与iOS设备的installation_proxy交互的工具,允许安装、升级、卸载、存档、还原和列举已安装或存档的app。此工具用于在真机上运行测试,默认是都安装的。

brew install ideviceinstaller

libimobiledevice

libimobiledevice是一个跨平台的软件库 ; 不依赖任何已有的私有库,不需要越狱。应用软件可以通过这个开发包轻松访问设备的文件系统、获取设备信息,备份和恢复设备,管理 SpringBoard 图标,管理已安装应用,获取通讯录、日程、备注和书签等信息

#安装最新版本libimobiledevice
brew install libimobiledevice --HEAD

Node&npm

Node是一个javascript运行时环境,npm是节点包管理器。我们需要这些,因为Appium是一个node应用程序。

brew install node

appium desktop版官网不在维护了,现在都是命令行版

Appium Server命令行版本

Appium server通过npm可以下载管理

npm install -g appium

默认将会安装最新版本,如果需要指定版本,通过以下命令:

npm install -g appium@1.7.2

检查appium版本

appium -v

启动appium服务

# -a参数:设置appium工作地址
# -p参数,设置appium工作端口号
appium -a 127.0.0.1 -p 4723

安装Appium doctor

Appium doctor可以用于检测Appium所需要的依赖环境是否是成功的

npm install appium-doctor -g
#检测iOS环境是否安装成功
appium-doctor --ios

安装appium-inspector

配置运行WebDriverAgent

前面我们说过WebDriverAgent是Appium测试IOS应用的自动化引擎,新版本Appium和IOS最好使用Appium内置的WebDriverAgent,当Appium(Appium桌面版或者命令行版本)安装好之后我们可以使用Xcode来编译运行WebDriverAgent。

对于Appium命令行版本,WebDriverAgent在/usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent/路径下

对于Appium桌面版本,WebDriverAgent在/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent路径下

这里以命令行版本为例,点击WebDriverAgent.xcodeproj使用Xcode打开WebDriverAgent工程

xcode运运行WebDriverAgent

这里以命令行版本为例,点击WebDriverAgent.xcodeproj使用Xcode打开WebDriverAgent工程

配置好account+asign,就commond+u运行,在命令行运行appium即可


文章作者: 读序
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 读序 !
  目录