如何判断Android活动何时完成加载?

Der*_*ick 17 android view loaded android-activity

我正在为我们的Android应用程序开发自动化测试套件,并在等待活动完全加载时遇到麻烦.我可以调用getActivity,但仅仅因为它显示了我希望在我的测试中看到的活动并不总是意味着活动的组件可以使用(完全加载).通过Activity API查看并没有改变任何东西,而其他方法似乎过于侵入并且破坏了测试的初始状态.有没有人知道是否有办法询问应用程序或VM是否加载了当前活动?

Die*_*ano 1

setUp()如果您在测试用例中创建这样的方法扩展ActivityInstrumentationTestCase2<MyActivity>

@Override
protected void setUp() throws Exception {
    super.setUp();

    final MyActivity activity = getActivity();

    tv1 = (EditNumber)activity.findViewById(resId1);
    tv2 = (EditNumber)activity.findViewById(resId2);
}
Run Code Online (Sandbox Code Playgroud)

您的 Activity 将完全运行并加载布局,在本例中,您可以访问视图及其内容

@SmallTest
public void testSimpleCreate() {
    final MyActivity activity = getActivity();
    assertNotNull(activity);

    assertNotNull(tv1);
    assertEquals("mystr1", tv1.getText().toString());
    assertNotNull(tv1);
    assertEquals("mystr2", tv2.getText().toString());
}
Run Code Online (Sandbox Code Playgroud)