2016-08-12 13 views
0

他のアクティビティから起動したウェブアクティビティとやりとりするにはどうすればよいですか?Android Espresso:第2アクティビティでテストケースを実行

私のテストケースは、ログインアクティビティを起動し、テキストの編集時にユーザーの資格情報を入力し、click()アクションを実行しています。

onView(withId(R.id.editTextUserId)).perform(typeText("username"),  closeSoftKeyboard()); 
onView(withId(R.id.editTextPassword)).perform(typeText("password"), closeSoftKeyboard()); 
onView(withId(R.id.loginButton)).perform(click()); 

メインプロジェクトからのログインボタンは、私がWebページに表示提出されたテキストに別のデータを入力する必要がありwebactivityを立ち上げています。

私はonWebView().withElement(findElement(Locator.ID, "input"));で試しましたが、ヌル参照エラーが発生しました。

私が起動するwebactivityを待つか、

  1. 以下について確認していませんか?私はIDなしで実行時にwebviewを追加しています。
  2. Webアクティビティから残りのテストケースを起動した後で、そのテストケースをどのように実行すればよいですか?

おかげで、 J

答えて

0

1.あなたがコードからViewにIDを追加することができます。

のようないくつかのXMLファイルを作成します。

res/values/ids.xml 

インサイドWebView IDを追加します。

<item name="form_webview" type="id"/> 

コードで設定して:

webView.setId(R.id.form_webview); 

2.あなたがはい、それが動作する電流試験

+0

にすべてのチェックを実行する必要があります。ありがとうsswierczek。問題があるのは、現在のテストですべてのケースを追加する必要があることだけです。それ以外の方法はありますか? – Jey

+0

@Jeyあなたは2つの選択肢があると思います。まず、 'Activity'ごとに別々のテストクラスを作成するか、多くの' Activities'をテストするテストクラスを作成します。他のテストからテストを実行しないでください。あなたはあなたのために良いものを決める必要があります。また、両方のテストクラスでいくつかのテストコードを再利用することもできます。それがあなたのために大丈夫であれば、投票して、答えを受け入れてください:) – sswierczek