1. はじめに
Sep 2015頃よりappiumでモバイルデバイステスト自動化にトライしてますが、
appiumでandroidを操作するのはいいけどテスト結果の判定どうするの?
という場合によく使っているコードをサンプルとして投稿します。
Rubyで書いています。
2. 実行環境
以下の通りです。
items | version | notes |
---|---|---|
macOSX | 10.10.5 | テスト実行端末 |
Android | 4.4, 4.2 | テスト対象端末OS |
ruby | 2.2.3p173 | テストコード言語 |
appium | 1.4.13 | appiumのver. |
node.js | v4.1.1 | nodeのver. |
3. コードのサンプル
画面要素をテキスト取得して、一致するか判定
check = find_element(:id, "android/id:xxxx").text
expect(check).to eq ("合ってる?")
上記は、画面内の要素をテキストとしてcheckに代入し
"合ってる?"と照合するサンプルコードです。
not equalにしたいこともあるかと思いますので、以下も紹介します。
画面要素をテキスト取得して、コレジャナイ判定したい
check = find_element(:id, "android/id:xxxx").text
expect(check).not_to eq ("コレ")
画面要素をテキスト取得してcheckに"コレジャナイ"が代入された時に、
trueになるサンプルコードです。
ついでに、画面要素取得に判定用の値を含んでいればtrue
としたいこともあるかと思いますので、以下も紹介します。
画面要素をテキスト取得して、"appium"文字列を含んでいるか判定したい
check = find_element(:id, "android/id:xxxx").text
expect(check).to include ("appium")
画面要素をテキスト取得してcheckに代入し、
代入テキストに"appium"が含まれていればtrueになります。
画面遷移テストで、要素取得したときに
当初完全一致しか判定できなくてtry & errorしました。
4. その他
appiumを2ヶ月くらいいじってみているところですが、
モバイルデバイス実機上で行えるテスト自動化はappiumで結構実現できると思います。
Windows上でappiumを動かす手順だとか、
Rubyで書くためのサンプルコード(部品的な)だとか、今後投稿したいと思います。