テスト自動化ツール AppiumをUnifinityで使ってみる 連載2回目

テックポエム

今回はUnifinityでAppiumを使う場合の独自性を紹介します。


インスペクターによる要素取得


Appiumでは付属のインスペクターを用いて各IDを取得します。画面の中の各パーツリソースIDが分かればクリック、入力、などの動作を命令することができます
リソースID取得例
pic1.png

一般的なネイティブアプリ(WEBハイブリッド)の例

pic2.png
テストロジックは以下のようになります

  • ID:0002をタップせよ
  • https://www.unifinity.co.jp/ を入力せよ
  • ID:0003をタップせよ
  • ID:0001のURLにID002のテキストをセットし再描画せよ

上記を実行することでWEBサイトが表示されます。

Unifinityの例

pic3.png
Unifinityでは、Unifinity Engine がOS差を吸収するために、テキスト、ボタン、
チェックボックス、カレンダー等の各コントロールはUnifinity独自の画像として配置
されます。
WebViewはネイティブコントロールのため、IDが取得できます。
したがって、テキストやボタンをクリックしたい場合は、中心座標を指定して行います。

pic4.png
テストロジックは以下のようになります

  • 座標: X:250 Y:500をタップせよ
  • https://www.unifinity.co.jp/ を入力せよ
  • 座標:X:250 Y:580をタップせよ
  • ID:0001のURLにID002のテキストをセットし再描画せよ

上記を実行することでWEBサイトが表示されます。
WebViewはネイティブコントロールを使うため、IDを取得できます。

やや煩雑となりますが、IDが取れなければ座標を指定することで実現できます。
画面解像度の異なる端末では、解像度と縦横比に補正値をかけることで対応できます。
次回では、実際のサンプルソースを紹介しながら、テストの自動実行を紹介します。