画像比較 with perceptualdiff

Appiumなどを始めとするテストツールでは、UIの表示確認にスクリーンショットを撮影してから、期待結果とそれらを比較する、という方法が多くとられているかと思います。 そのとき使う画像比較ツールに関してのメモとなります。 perceptualdiff http://pdiff.sourceforge.net 私が画像比較に求めた内容は以下です。 ずれが検出された場合、人の目視による確認が良い すべてを機械に任せない。機械には一致/不一致のみの判定のみさせ、不一致のみ人が確認する。 より単純に比較を行いたい 多機能で重いツールよりも、単機能で軽いツールを使いたい コマンドラインで、複数の開発環境共通して使えるMore

Appiumの最近の動向

過去の記事にて、Appiumを使ってみての利点とか記載しましたが、そこからさらに少しAppiumを使ってみて、改めて思ったことを記載します。More

appium – instrument error in Xcode5

Xcode 5においてコマンドラインのappiumサーバを起動し、シミュレータを起動・実行しようとすると、instrumentのエラーが確認されるようです。(Appium 0.13.0にて確認) https://github.com/appium/appium/blob/master/docs/server-args.md のドキュメントによると、 –native-instruments-lib の項目に、 「(IOS-only) IOS has a weird built-in unavoidable delay. We patch this in appium. If you do not want it patched, pass in this flag.」 と記載がありました。More

Appium+インスペクタ

Appiumにおいて具体的にシナリオを記述していく段階になりましたら、例えばxpathをインスペクタで確認しながら作業を進める・・・等の対応が必要になってくると思います。 ここでは、Mac向けGUI Appiumを使って簡単に流れを説明します。 http://appium.io/ のDownload Appium もしくは https://github.com/appium/appium/releases より適当なdmgファイルをダウンロード、Macのアプリケーションディレクトリ以下なりに設置してください。More

Appiumを使うまでのセットアップ – おかわり

過去、Appiumを使うまでのセットアップを書きましたが、homebrewではなく、nvmやnpm、appium-doctorを使った形を整理しようと思います。 appium-doctorは今回初めてでてきます。 インストール対象のappiumのバージョンは 0.13.0 です。 環境はMac OS X 10.9です。 事前確認 ローカルに、nvmやnpmをbrewなどによりインストールしていないかを確認するMore

Appiumのメソッドいくつか

Appiumが0.12.3にあがってから、GUIのインスペクタによるxpathの確認など、安定性が増した気がします。 Rubyの記述ですが、いくつか使えそうなメソッドの記述を以下にのせます。 ※動作確認は、Appium 0.12.3 です。 中でも、untilにより特定の要素に対してtrueになるまで待つ、というメソッドは結構役立つのではないでしょうか。More

AppiumのシナリオをRSpecで少し触ってみる

RSpec自身の記述に関する言及は個々では置いておきます・・・ RSpecから使う場合、以下のように記述することでシミュレータを起動、アプリのインストールとそれに対するシナリオ実施が可能です。 OK/NG判定は、RSpecなどのフレームワークに沿ってください。More

AppiumをAndroidエミュレータで使う

Androidアプリのappiumによるテスト自体も、iOS版とほとんどシナリオの記述には変化ありません。 一方、Android 4.2 以上が必要である、という要求がありますので、そこは注意が必要です。 iOS版との差分に焦点をあてて、以下の流れで実行までの記述を行います。 シナリオの変更 エミュレータの確認 サンプルシナリオを実行More

AppiumをiOSシミュレータで使う

シミュレータを使って試験を行う場合、build 時に生成される.appの実行ディレクトリを対象に、シミュレータにアプリをインストールしてappium経由でコマンドを送信、試験が実施されます。 以下、サンプルシナリオを実施するにあたり、大まかな手順です。 サンプルプロジェクトをビルドする .appディレクトリをzip化する※zip化せずともできました。 サンプルシナリオの一部を修正し、ビルドした成果物を試験対象にする appiumを起動する サンプルシナリオを実行する ここで、サンプルシナリオはnodeコマンドにより実行されるものを使います。More