AppiumはRSpecでシナリオの記述が可能。さらにはCucumberも可能ということなので、ついでにTurnipでも実行可能なのか試してみました。
結果としては可能なのですが、以下、いくつか試したことをピックアップ。
試したときのファイル構成は以下の感じ。
. ├── .gitignore ├── .rspec ├── Gemfile ├── Gemfile.lock ├── README.rdoc ├── Rakefile └── spec ├── acceptance │ └── ios │ └── ios_sample.feature ├── spec_helper.rb ├── steps │ └── ios_sample_steps.rb └── turnip_helper.rb
Gemfileの中身
source "https://www.rubygems.org" gem 'rspec' gem 'selenium-webdriver' gem 'turnip'
.rspecの中身
--color -r turnip/rspec
ios_sample.featureが、以下のようなシナリオを記述したFeatureファイル。
Feature: acceptance test Scenario: display the result of google search Given test with 'iPhone Simulator' Then go to 'https://google.com' Then input 'ゆき' in search field Then submit form Then display search page ? Then save screenshot
それぞれのThenの時の振る舞いを記述したstepファイルが ios_sample_steps.rb
spec_helper.rbは以下
require 'selenium-webdriver' #require 'date' Dir.glob('spec/**/*steps.rb') { |f| load(f, true) }
実行自体はrspecの実行同様です。
ここら辺はTurnipとかわらないですねー。
少しこの形式で試してみて思ったこと。
- ユーザシナリオベースでシナリオを記述するならTurnipはあり
- Cucmberよりも理解しやすい、RSpecの延長ととらえてシナリオを書くことができる
というのは良い点かなと。
少し会社で今までRSpecで書いたものをTurnipを使って書いてみようかなと思ったり。
ところで、Calabashが最近社内で使われていることを知ったのですが、Appiumのほうが個人的にはよいかなと思ってます。
– iOS/androidともに、リリースモジュールで試験可能
– Cucmberは少し煩雑(保守性が不安)なので、Turnipで書くことも可能
一方、もしもCalabashのほうが気軽に使えるのなら、Appiumよりもありかなと思ってます。
Calabashも試してみよう。
1 Comment