iOS自动测试环境搭建(Appium)

简介

本文简单记录一下iOS自动测试环境搭建的过程以及遇到的一些坑

1. 安装homebrew

  • 由于之前的homebrew有点问题,这里记录一下卸载重装的操作,不需要重装直接看下一步:
    打开终端,输入一下命令并回车:
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
  • 如果需要完全卸载,可用下面的操作:
$ cd `brew --prefix`
$ rm -rf Cellar$ brew prune
$ rm -rf Library .git .gitignore bin/brew README.md share/man/man1/brew
$ rm -rf ~/Library/Caches/Homebrew
  • 打开终端,输入以下命令并回车:
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2. 安装libimobiledevice

  • 打开终端,输入以下命令并回车:
    brew install libimobiledevice --HEAD
  • 安装的时候如果出现了报错Requested 'libusbmuxd >= 1.1.0' but version of libusbmuxd is 1.0.10, 修复操作如下:
$ brew uninstall --ignore-dependencies libimobiledevice
$ brew uninstall --ignore-dependencies usbmuxd
$ brew install --HEAD usbmuxd
$ brew unlink usbmuxd
$ brew link usbmuxd

3. 安装carthage

  • 打开终端,输入以下命令并回车:
    brew install carthage
  • 由于macOS版本为10.12,而最新的carthage需要10.14,所以系统不允许安装,这里需要手动找到github上某个低版本的commit,然后手动安装,步骤如下:
    (1)完全卸载carthage: brew uninstall --force carthage
    (2)到github上找到对应版本https://github.com/Homebrew/homebrew-core/search?p=2&q=carthage&type=Commits&utf8=✓
    (3)假如需要0.29.0,那么找到对应的页面为https://github.com/Homebrew/homebrew-core/commit/df3be3a1882f7d2ea98efac4c9a1f37792b7097b,该版本commit号为df3be3a1882f7d2ea98efac4c9a1f37792b7097b
    (4)输入命令手动安装:brew install https://github.com/Homebrew/homebrew-core/raw/df3be3a1882f7d2ea98efac4c9a1f37792b7097b/Formula/carthage.rb(不同的版本请自行修改commit号)

4. 安装npm及cnpm

  • 打开终端,输入以下命令并回车:
    brew install -g node
    npm install -g cnpm --registry=https://registry.npm.taobao.org

  • 如果遇到类似gcc_4_0 is disabled的报错,请用命令brew upgrade升级homebrew,或参考文章开头的步骤重装homebrew,一般原因是homebrew有损坏或者版本不是最新

5. 安装ios-deploy

  • 打开终端,输入以下命令并回车:
    cnpm install -g ios-deploy
  • 如果报错stderr: xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance,执行sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer,原因是Xcode安装路径非系统指定路径.

6. 安装xcpretty

  • 打开终端,输入以下命令并回车:
    gem install xcpretty

7.通过npm install -g安装以下依赖:

babel-eslint@^7.1.1
eslint@^3.10.2
eslint-plugin-import@^2.2.0
eslint-plugin-mocha@^4.7.0
eslint-plugin-promise@^3.3.1

8.安装appium-xcuitest-driver

  • 打开终端,输入以下命令并回车:
    npm install -g appium-xcuitest-driver

9.配置appium-xcuitest-driver依赖

  • 打开终端,输入以下命令并回车:
    cd /usr/local/lib/node_modules/appium-xcuitest-driver/WebDriverAgent (如果WebDriverAgent 所在路径和此不同,请自行查找)
    mkdir -p Resources/WebDriverAgent.bundle
    sh ./Scripts/bootstrap.sh
  • 此处如果没安装carthage会报错
  • 此处如果出现Unexpected token (67:6)类似报错,和 webpack 检测相对目录的根目录有关,解决方法见Appium运行 WebDriverAgent 输入./Scripts/bootstrap.sh 报错 ,实测可以打包成功

10.编译WebDriverAgent 【复杂&重要】

  • 打开终端,输入以下命令并回车:
    cd /usr/local/lib/node_modules/appium-xcuitest-driver/WebDriverAgent
    open WebDriverAgent.xcodeproj
    如果装过xcode会直接打开为一个工程
  • (更改开发者签名项,改为公司开发者)
  • 编译WebDriverAgentLib
  • 编译WebDriverAgentRunner
  • build成功后关闭XCode

11.建立WebDriverAgent服务(手机和MAC都在同一个网段下,且都能连接外网)

  • 将WebDriverAgentRunner编译到手机上:
cd  /usr/local/lib/node_modules/appium-xcuitest-driver/WebDriverAgent
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=udid4phone

(idevice_id --list 命令,可以查看当前连接的所有手机udid )

12.安装appium

  • 打开终端,输入以下命令并回车:
    npm install -g appium

  • 安装完成后,打开终端执行:appium测试是否成功

13.安装appium-desktop 客户端

appium.io 上自行下载

你可能感兴趣的:(iOS自动测试环境搭建(Appium))