所以,我有一个贯穿整个应用程序的测试。现在,我想拍一张照片。由于它有2个活动和许多片段,我无法使它工作,因为它只需要每个活动的第一个片段。
如何实现我对每个片段的拍照?
File "spacy/tokens/token.pyx", line 56, in spacy.tokens.token.Token.__cinit__ (spacy/tokens/token.cpp:3868)
TypeError: __cinit__() takes exactly 3 positional arguments (0 given)
答案 0 :(得分:1)
首先,您只需要一条规则:
@RunWith(AndroidJUnit4.class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class HearthBeatUITest {
private final int MILISECONDS_TIMEOUT = 300;
@Rule
public IntentsTestRule<IntroActivity> mActivityRule = new IntentsTestRule<>(IntroActivity.class);
private Activity currentActivity;
}
现在,当您需要创建屏幕截图的上下文时,您将调用此方法:
private Activity getActivityInstance() {
getInstrumentation().runOnMainSync(new Runnable() {
public void run() {
Collection resumedActivities = ActivityLifecycleMonitorRegistry.getInstance().getActivitiesInStage(RESUMED);
if (resumedActivities.iterator().hasNext()) {
currentActivity = (Activity) resumedActivities.iterator().next();
}
}
});
return currentActivity;
}
它将为您提供当前活动,您将能够截取屏幕截图。只是fyi,你不能截取对话框的截图。