Android 如何在浓缩咖啡测试中获得活力?
我正在尝试使用以下格式:Android 如何在浓缩咖啡测试中获得活力?,android,android-espresso,android-testing,firebase-test-lab,Android,Android Espresso,Android Testing,Firebase Test Lab,我正在尝试使用以下格式: ScreenShotter.takeScreenshot("main_screen_2", this /* activity */); 我不太确定我应该如何从一个浓缩咖啡测试中获得活动。目前,我的测试类看起来像: @RunWith(AndroidJUnit4.class) @LargeTest public class OtherTests { @Rule // Replace 'MainActivity' with the val
ScreenShotter.takeScreenshot("main_screen_2", this /* activity */);
我不太确定我应该如何从一个浓缩咖啡测试中获得活动。目前,我的测试类看起来像:
@RunWith(AndroidJUnit4.class)
@LargeTest
public class OtherTests {
@Rule
// Replace 'MainActivity' with the value of android:name entry in
// <activity> in AndroidManifest.xml
public ActivityScenarioRule <MainActivity> mActivityRule = new ActivityScenarioRule<>(MainActivity.class);
@Test
public void getDeviceInfo() {
try {
Thread.sleep(7000);
} catch (InterruptedException e) {
e.printStackTrace();
}
TestHelper.tap("APP_HEADER");
TestHelper.expect("TRUE_HOME_BUTTON",5000);
ScreenShotter.takeScreenshot("main_screen_2", this /* activity */);
}
}
@RunWith(AndroidJUnit4.class)
@最大的
公共类考试{
@统治
//将“MainActivity”替换为中的android:name条目的值
//在AndroidManifest.xml中
public ActivityScenarioRule mActivityRule=新的ActivityScenarioRule(MainActivity.class);
@试验
public void getDeviceInfo(){
试一试{
睡眠(7000);
}捕捉(中断异常e){
e、 printStackTrace();
}
点击TestHelper.tap(“APP_头”);
expect(“TRUE\u HOME\u按钮”,5000);
截屏者。截屏(“主屏幕2”,本/*活动*/);
}
}
根据(底部)的,您可以从ActivityInstrumentationTestCase2继承并使用getActivity()
方法
但是,如前所述,该类被弃用,取而代之的是
ActivityTestRule
,它还有getActivity()
方法
public void testExample(){
//当应用程序变得可见时,拍摄屏幕截图。
onView(isRoot());
截图(“主屏幕1”,getActivity());
}
根据(底部)的,您可以从ActivityInstrumentationTestCase2继承并使用getActivity()
方法
但是,如前所述,该类被弃用,取而代之的是
ActivityTestRule
,它还有getActivity()
方法
public void testExample(){
//当应用程序变得可见时,拍摄屏幕截图。
onView(isRoot());
截图(“主屏幕1”,getActivity());
}
您必须获得场景
,然后在传递给onActivity的回调中运行代码
@测试
public void getDeviceInfo(){
...
mActivityRule.getScenario()
.on活动(活动->屏幕截图。截图(“主屏幕2”,活动));
}
您必须获得场景
,然后在传递给onActivity的回调中运行代码
@测试
public void getDeviceInfo(){
...
mActivityRule.getScenario()
.on活动(活动->屏幕截图。截图(“主屏幕2”,活动));
}
对于Screenshotter,我需要传入对活动的引用。那么,在您的示例中,如何获得MainActivity实例的引用呢?感谢您澄清了这个问题,请参阅我的更新答案。ActivityTestRule
也不推荐使用。应该使用ActivityScenarioRule
进行屏幕截图,我需要传入对活动的引用。那么,在您的示例中,如何获得MainActivity实例的引用呢?感谢您澄清了这个问题,请参阅我的更新答案。ActivityTestRule
也不推荐使用。应使用ActivityScenarioRule