首页 > 解决方案 > Android UI 测试启动片段

问题描述

我一直在尝试为我的 Android 应用程序中的登录对话框编写一个简单的 UI 测试,但我什至在启动登录片段时遇到了麻烦。我尝试了几种从 ActivityTestRule 开始的方法来声明片段依赖的 Activity 以启动我的片段隔离,但似乎没有任何效果。这是我得到的错误,我无法从中得出任何关于出了什么问题的结论:

E/TestRunner: java.lang.RuntimeException: Unable to resolve activity for: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=de.smartwireless.smartconnect.debug/androidx.fragment.app.testing.FragmentScenario$EmptyFragmentActivity (has extras) }

这是我的 Testclass 的初始代码。它并没有真正填充,因为我想在继续进行 UI 测试之前确保片段正确启动:

@RunWith(AndroidJUnit4::class)
class LoginTest {

    private lateinit var scenario: FragmentScenario<LoginFragment>

    @Before
    fun prepareLogin() {
        IdlingRegistry.getInstance().register(SemaphoreIdlingResource.semaphoreIdlingResource)
        scenario = launchFragmentInContainer<LoginFragment>()
        scenario.moveToState(Lifecycle.State.STARTED)
    }

    @Test
    fun loginSuccess() {}

    @After
    fun finish() {
        IdlingRegistry.getInstance().unregister(SemaphoreIdlingResource.semaphoreIdlingResource)
    }
}

标签: androidkotlinandroid-fragments

解决方案


推荐阅读