这不是一个重复的问题。
我已经研究过类似的问题。我已经补充了我在上节提到的问题。
我的问题是测试会执行,但每次测试我都必须手动打开应用程序。
你可以看到我在打开应用程序之前已经等了18秒。它会一直等到我手动打开应用程序,或者在超时后显示此错误。
活动永远不会成为请求状态“[已销毁、已恢复、已启动、已创建]”(上一个生命周期转换=“pre_on_create”)
从这篇文章中,我假设问题出在我使用的设备上 Redmi Note 5
.
我有 disabled animations
以及 MIUI optimization
选项
任何帮助都将自动在小米设备上运行测试。
手动运行自动化ui测试毫无意义。
更新1
它仅对启动器/主活动执行。
它不适用于其他活动。
更新2
我还碰巧有一个RedMi4。测试在该设备上正常工作,没有任何代码更改。
提交的问题
androidx.test activityscenario:java.lang.assertionerror:activity从不成为请求状态“[恢复]”(last lifecycle transition=“stopped”)
浓缩咖啡测试时,android设备不会在屏幕上启动活动
在ui测试中,活动永远不会成为请求状态
java.lang.assertionerror:活动永远不会成为请求状态
android检测测试引发异常:活动从未成为请求状态“[恢复、销毁、启动、创建]”
如何修复此错误java.lang.assertionerror:activity从不成为请求状态“[destroyed]”(last lifecycle transition=“Resume”)
以及相关问题,,
https://github.com/android/android-test/issues/143
https://github.com/android/android-test/issues/496
为任何想看一看的人添加代码片段和依赖项,
测试代码
import androidx.test.core.app.ActivityScenario
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.*
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
import org.junit.Test
import org.junit.runner.RunWith
@RunWith(AndroidJUnit4ClassRunner::class)
class MainActivityTest {
@Test
fun test_isActivityInView() {
val activityScenario = ActivityScenario.launch(MainActivity::class.java)
onView(withId(R.id.layout_activity_main)).check(matches(isDisplayed()))
}
}
依赖关系
testImplementation "junit:junit:4.13.2"
androidTestImplementation "androidx.test:core:1.4.0"
androidTestImplementation "androidx.test:runner:1.4.0"
androidTestImplementation "androidx.test:rules:1.4.0"
androidTestImplementation "androidx.test.ext:junit-ktx:1.1.3"
androidTestImplementation "androidx.test.espresso:espresso-core:3.4.0"
暂无答案!
目前还没有任何答案,快来回答吧!