さまざまな構成でキーボード サービスのレイアウトをテストするテスト (ロボティウム/セレン テストに似ています) を作成したいと思います。
キーボードはサービスとして実行されるため、robotium で直接テストすることはできません。代わりに、キーボードをテストするためのアクティビティをサービス内に作成しました。キーボードは別のウィンドウで実行されるため、robotium はそのビューを見ることができません。
私の質問は: 入力メソッドをテストできるフレームワークはありますか?
確かではありませんが、Nativedriver(http://code.google.com/p/nativedriver/)の機能を試してみることをお勧めします。これは、Robotiumよりも少し柔軟性がありますが、少し難しいと思います。設定する。
server-instrumentation.jar
ここに概説されているように、ライブラリとその他のいくつかの必需品をアプリに含める必要があります: http ://code.google.com/p/nativedriver/wiki/AndroidMakeAnAppTestable 。サーバーインストルメンテーションコードを簡単にフォークして、その機能をさらに充実させることができます。リソースIDではなくヒントでテキストボックスを見つけやすくするなど、単純な目的でこれを行っていることに気付きました。 組み込みの機能でキーボードのテストができない場合は、ここにその機能を追加して、コードをコミットしてください。
NativedriverアプローチがAndroidJUnitテストではなくバニラJUnitテストを使用する方法がとても気に入っています。これにより、JUnitでうまく機能する他のツール(CucumberのJavaポートなど)が多数提供されますが、Androidにはうまく適合しません。 JUnitテストモデル。
私が行ったように、NativedriverベースのJUnitテストケースの最後にアクティビティが強制終了されないという事実は、特にテストを作成している最中で、次に何をすべきかを思い出そうとしているときに便利です。 UI。
これは表示されるビットマップであるため、場所を押してみることができます。これは、メソッド UI の開発に似ています。