0

ロボティウム テスト ケースを実行する Android アプリを開発しました。私が抱えている最初の問題は、私のアプリでは、サーバーと対話するために非常に多くのWebサービス呼び出しを使用しています.アプリがサーバーにヒットするたびに、進行状況ダイアログを表示しています.今、アプリが応答を得るまでロボティウムを待ちたいです.サーバーからですが、waitForDialogToClose() を使用してしばらく待つことができます。実際には、サーバーから応答またはエラーが発生するまで正確に待機させたいと考えています。どうやってするの..??

そして2番目の問題は、サーバーにデータ(ファイルや画像など)をアップロードしていて、その進行状況バーを表示していることです。この場合、進行状況バーが最大値に達するまでロボティウムを待ちたいと思います。助けてください..

よろしく、ラム。

4

1 に答える 1

0

Robotium はブラック ボックス テスト フレームワークです。UI レイヤーからアプリをテストすると、テスト対象のアプリのコードを知らなくても実行できます。

このため、robotium から、モデルにリスナーを接続したり、クライアントを休ませたりして、応答がアプリに届くまで待つことはできません。したがって、次の 2 つのオプションがあります。

  • ダイアログで提案したように、UIに特定の状態が表示されるのを待ったり、リストの内容など、UIを中継したりします。
  • テストを続行する前に、しばらく待ってください。データがそこにあると確信できる時間です。しかし、これはよりリスクが高く、より頻繁に失敗します。

一部の単体テストは、残りのクライアント (または同等のもの) をテストするのに適しています。それをモックして、UI テストを切断して実行できれば、より良いでしょう。しかし、これには大量の設計作業が必要であり、それだけの価値はありますが、小さなアプリや Java の初心者にとっては複雑です。おそらく、UI のみをテストし、テストが完全ではないことを念頭に置いた方がよいでしょう。

于 2012-05-09T07:43:25.843 に答える