Realm dbを使用したクイズアプリがあります。ユーザーが回答を選択するたびに、ボタンをクリックすると、質問の新しいテキストが表示されます。彼女が私が新しいアクティビティを開始し、正解に基づいてスコアを表示する終わりに達するまでそれはそれです。
毎回all回答を手動で入力することなく、そのアクティビティを(エスプレッソで推測)開始/テストし、各回答の後にボタンをクリックする方法最後に到達しますか?
私が必要なのは、いくつかの模擬データを変数に渡してインテントを作成することですが、エスプレッソでこれに関連するものをどのように見つけることができないのかわかりません
次のようなカスタムインテントを使用して、次のアクティビティを起動できます。
@RunWith(AndroidJUnit4.class)
public class NextActivityTest {
@Rule
public ActivityTestRule<NextActivity> activityRule
= new ActivityTestRule<>(
NextActivity.class,
true, // initialTouchMode
false); // launchActivity. False to customize the intent
@Test
public void intent() {
Intent intent = new Intent();
intent.putExtra("your_key", "your_value");
activityRule.launchActivity(intent);
// Continue with your test
}
}
完全な例: https://github.com/chiuki/Android-test-demo
ブログ投稿: http://blog.sqisland.com/2015/04/espresso-21-activitytestrule.html
まず、この質問を参照してください: Android Monkey Runner
次に、これらのガイドを見ることができます: Monkey Runner
Pythonを使用して、ソースの外部でAndroidアクティビティをテストします。そのため、物事をトリガーして、次のような特定のアクティビティにアクセスできます。
#! /usr/bin/env monkeyrunner
from com.Android.monkeyrunner import MonkeyRunner, MonkeyDevice
from random import randint
print "get device"
device = MonkeyRunner.waitForConnection()
package = 'my.packaget'
activity = 'my.package.activity'
runComponent = package + '/' + activity
device.startActivity(component=runComponent)
#use commands like device.touch and device.drag to simulate a navigation and open my activity
#with your activity opened start your monkey test
print "start monkey test"
for i in range(1, 1000):
#here i go emulate only simple touchs, but i can emulate swiper keyevents and more... :D
device.touch(randint(0, 1000), randint(0, 800), 'DOWN_AND_UP')
print "end monkey test"
保存して実行します:monkeyrunner test.py