LoginSignup
16
16

More than 5 years have passed since last update.

AWS Device Farm も iOS サポートしたことだし、Appium 環境を Mac に構築してテストしようぜ!

Last updated at Posted at 2015-08-18

1. 概要

以下のドキュメントを元に構成しています。
http://appium.io/slate/en/tutorial/ios.html

この記事のとおりやると、Appium をつかって iOS アプリを JUnit でテストしたり、Appium Ruby Console(ARC) でアプリのインスペクトできたりします。

↓実際に Appium でテストしているときのスクリーンをキャプチャしてみました。
IMAGE ALT TEXT HERE
動画リンク:https://www.youtube.com/watch?v=Ka2QbZys-8I

2. インストール前後の環境

Mac OSX 10.10.4
Xcode N/A -> 6.4
Ruby ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14] -> 2.2.2
RVM N/A -> 1.26.11
Java N/A -> 1.8.0_45
Homebrew N/A -> 0.9.5
Node.js N/A -> 0.12.6
NPM N/A -> 2.12.1
grunt N/A -> 0.4.5
ant N/A -> 1.9.5
Maven N/A -> 3.3.3

3. Xcode セットアップ

まずは、 AppStore から Xcode をダウンロード&インストールして、一度だけ起動しておいてください。

4. Java セットアップ

4-1. Java をダウンロード&インストール

http://www.oracle.com/technetwork/java/javase/downloads/index.html
[JDK Download] をクリック。 [Ma OS X x64] を選択して [jdk-8u45-macosx-x64.dmg] をダウンロード

4-2. インストール完了後にバージョンチェック

$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

5. Homebrew セットアップ

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

6. Ruby セットアップ

6-1. Ruby をインストール

$ \curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.rvm/scripts/rvm
$ rvm install ruby
$ rvm list
$ rvm --default use 2.2.2
$ ruby —version

6-2. Gem, Bundler アップデート

$ gem update --system
$ gem install --no-rdoc --no-ri bundler
$ gem update
$ gem cleanup
$ gem --version

6-3. appium_console インストール

$ gem uninstall -aIx appium_lib
$ gem uninstall -aIx appium_console
$ gem install --no-rdoc --no-ri appium_console

6-4. flaky インストール

$ gem uninstall -aIx flaky
$ gem install --no-rdoc --no-ri flaky

7. Node.js セットアップ

既に Node をパッケージインストーラーでインストールしており、バージョンが適合しないような場合は、NPM と Node を 7-1. 7-2. の手順で事前にアンインストールする必要があるかもしれません。

7-1. npm アンインストール

sudo npm uninstall npm -g

7-2. node アンインストール

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \
| while read i; do
sudo rm /usr/local/${i}
done
sudo rm -rf /usr/local/lib/node \
/usr/local/lib/node_modules \
/var/db/receipts/org.nodejs.*

7-3. node, npm インストール

$ brew install node
$ node --version
$ npm --version

7-4. grunt インストール

$ npm install -g grunt grunt-cli
$ grunt --version

8. Ant, Maven セットアップ

$ brew install ant
$ brew install maven
$ ant -version
$ mvn -version

9. Appium セットアップ

9-1. appium を Clone

$ cd ~
$ git clone git://github.com/appium/appium.git
$ cd appium
$ ./reset.sh --ios --dev --verbose

9-2. appium 起動

$ node .

10. JUnit のための iOS サンプルアプリ (TestApp) をビルド

10-1. 別のターミナルウィンドウを起動

10-2. サンプルディレクトリにあるテストアプリをビルド

$ cd ~/appium/sample-code/apps/TestApp/
$ xcodebuild -configuration Release -sdk iphonesimulator8.4

※"8.4" はインストールしている iOS SDK のカレントバージョンです。

11. JUnit サンプルプログラム (SimpleTest.java) を起動

11-1. SimpleTest.java を編集

$ vi ~/appium/sample-code/examples/java/junit/src/test/java/com/saucelabs/appium/SimpleTest.java
- capabilities.setCapability("platformVersion", "8.1");
+ capabilities.setCapability("platformVersion", "8.4");

11-2. テスト開始

$ cd ~/appium/sample-code/examples/java/junit
$ mvn test -Dtest=com.saucelabs.appium.SimpleTest#testUIComputation

12. ARC のために iOS サンプルアプリをビルド

$ cd ~/appium/sample-code/apps/UICatalog/
$ xcodebuild -configuration Release -sdk iphonesimulator8.4

13. Appium Ruby Console (ARC) を起動&実行

$ cd ~/appium/sample-code/apps/UICatalog/
$ vi appium.txt
[caps]
platformName = "ios"
deviceName = "iPhone 6"
platformVersion = "8.4"
app = "./build/Release-iphonesimulator/UICatalog.app"
$ arc

With the console started, the next step is to begin automation. The pagecommand prints a list of elements that are of interest.

[1] pry(main)> page

※ARC コマンド:
http://appium.io/slate/en/tutorial/ios.html?ruby#page-command

免責

個人の意見です。

16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16