当前位置:   article > 正文

iOS10+系统使用Appium+ XCUItest进行UI自动化的环境搭建_installing 'xcuitest' using npm install spec 'appi

installing 'xcuitest' using npm install spec 'appium-xcuitest-driver' e

要在ios app上做UI自动化,iOS10+系统上使用appium中的XCUITest框架,iOS10以下使用UIAutomation框架。

这里重点说明使用XCUItest框架做UI自动化时的环境搭建方法。

一、说明

整体环境:Appium+Maven+TestNG+appium-testcase

  • 使用Appium1.6以上版本
  • 使用Maven构建项目
  • 使用TestNG作为测试框架
  • 云测第三方工具:appium-testcase,增加失败后重试等功能

二、Appium1.6+搭建

Appium+Xcode+iOS 10
Appium需要使用1.6以上版本,云测使用1.6.4-beta版本
Xcode需要使用7以上版本,云测使用Xcode8.2 

1.安装brew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.安装libimobiledevice

brew install libimobiledevice --HEAD

3.安装carthage

brew install carthage

4.安装node

按照官方的地址https://nodejs.org/en/download/下载.pkg文件安装

5.安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

6.安装ios-deploy

cnpm install -g ios-deploy

7.安装xcpretty

gem install xcpretty

8.安装appium

cnpm install -g appium@1.6.4-beta

9.安装appium-xcuitest-driver依赖

进入WebDriverAgent安装目录,WebDriverAgent项目在appium/node_modules/appium-xcuitest-driver/下。将WebDriverAgent项目移到非appium目录外,并在WebDriverAgent根目录执行 

mkdir -p Resources/WebDriverAgent.bundle

sh ./Scripts/bootstrap.sh

执行完后没有错误,将项目放回appium-xcuitest-driver下

或者设置软链接:进入appium-xcuitest-driver目录下,执行 

ln -s ~/"${REPOS}"/WebDriverAgent

备注:直接在appium-xcuitest-driver下执行前两个命令,appium的inspector工具使用时会出错。

10.编译WebDriverAgent

首先在Xcode上登录Apple账号,然后使用Xcode打开WebDriverAgent.xcodeproj.
编译WebDriverAgentLib
WebDriverAgentLib

编译WebDriverAgentRunner 

WebDriverAgentRunner

WebDriverAgentRunner

11.启动WebDriverAgent

cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent(此目录可能不同)

cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent(此目录可能不同)

若出现Test FAILED,设备上出现不受信任的开发者弹框,可以到设置-通用-设备管理(描述文件)信任你的apple id就可以了。再次运行上述命令,看到如下图,就成功了。
WebDriverAgentRunner

12.运行Appium

执行以下命令成功,则Appium搭建完成。

appium -p 4723

三、其他

  • 使用XCUITest框架目前不支持设置autoAcceptAlerts和autoDismissAlerts来处理系统弹窗。弹框需要自己在case中处理。 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/104387
推荐阅读
相关标签
  

闽ICP备14008679号