2016-10-03 6 views
-1

私はCalabashフレームワークを使って自分のアプリケーションに自動テストを書いています。Androidデバイスでユーザーのアクティビティシステム全体をどのようにシミュレートできますか?

場合によっては、カメラを起動して写真撮影やビデオ撮影などの操作を行う必要があります。これらのアクションを実行するには、カメラアプリケーションでボタンを見つけてタップする必要がありますが、カラバッシュはテストアプリケーションとのやり取りのみを提供します。

ここで疑問があります:システム全体をシミュレートするユーザーの操作を提供するフレームワークなどがありますか?

+0

この質問は、あまりにも多くの正解があるかもしれないし、答えが主に意見に基づいているかもしれないので、広すぎる。さらに、多くの良い質問は、専門家の経験に基づいてある程度の意見を生成するが、この質問に対する答えは、事実、参考文献、または特定の専門知識ではなく、概ね意見に基づいている傾向がある。 –

答えて

3

あなたがシステムやサードパーティのアプリケーションと対話したい場合は、より良いオプションはAndroidのUIautomatorです。

これは、Androidデバイス用のアプリケーション間でのユーザーのアクションをシミュレートすることができますし、ツールがAndroidのUI Automatorのは、それを使用して簡単にするためにラップされている以下の詳細here

を見つけることができます。

  1. Appium - website
  2. PythonのUI Automatorを - github link

あなたがあなたの目標をachiveことができる3つの方法があり、

  1. あなたが言及されているツールのいずれかを使用することができます上記の場合、エンティティスクリプトを書き直す必要があります

  2. エンティティスクリプトを書き換えたくない場合は、python uiautomatorを使用する必要があります。

    システムのPythonのFILE_PATH/file_name.py「

  3. :基本的には、あなたはこのようなあなたのRubyコードでそのPythonのファイルを呼び出す必要があるシステム&サードパーティのアプリケーションとの相互作用のためのPythonスクリプトを記述する必要があります

    最後のオプションは、あなたのアクションがあなたのコアアプリケーションから非常に最小限であれば、非常にシンプルで使いやすいADBコマンドを使用する必要があるということです。例えば、カメラ、フーカスを開き、次のコマンドを使用してください:

    Androidの計測フレームワークに包まれたあなたのケースのひょうたん - アンドロイドで

Calabashは特定のapkを辞退し、テストはapkと同じように実行されますので、calabashコマンドを使用して他のアプリを自動化することはできません。上記のオプションのいずれかで終了することがあります。