Abh*_*bhi 14 android android-espresso xiaomi
这不是一个重复的问题。
我已经看过类似的问题。我已经添加了我上次提到的问题。
我的问题是测试执行了,但我必须为每个测试手动打开应用程序。
你可以看到我已经等了18秒才打开应用程序。它会等到我手动打开应用程序,或者在超时后显示此错误。
活动永远不会变成请求的状态“[DESTROYED、RESUMED、STARTED、CREATED]”(最后一个生命周期转换=“PRE_ON_CREATE”)
从这篇文章中,我认为问题出在我正在使用的设备上Redmi Note 5。
我disabled animations也有这个MIUI optimization选择。
感谢您提供在小米设备上自动运行测试的帮助。
手动运行自动化 UI 测试没有意义。
更新 1
它仅针对启动器/主要活动执行。
它不适用于其他活动。
更新 2
我也碰巧有一台 Redmi 4。测试在该设备上按预期工作,无需任何代码更改。
提到的SO问题
以及相关问题,
添加代码片段和依赖项供任何想要查看的人使用,
测试代码
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()))
}
}
Run Code Online (Sandbox Code Playgroud)
依赖关系
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"
Run Code Online (Sandbox Code Playgroud)
小智 23
这是权限问题。只需在 Android 手机设置中允许此应用程序自动启动和弹出窗口即可。
\n然后启动 USB 调试并允许测试应用程序链启动。
\n它在小米 11 \xe9\x9d\x92\xe6\x98\xa5\xe7\x89\x88 上对我有用。
\n您可以在“设置”->“应用程序”->“管理应用程序”\n->“您的应用程序”->“权限”中找到这些设置
\n我有同样的问题。有时会因为使用而出现问题
androidTestImplementation 'androidx.fragment:fragment-testing:1.3.6'
Run Code Online (Sandbox Code Playgroud)
代替
debugImplementation 'androidx.fragment:fragment-testing:1.3.6'
Run Code Online (Sandbox Code Playgroud)
如果您的测试场景中有片段,请添加此依赖项debugImplementation并再次检查。感谢这篇文章的回答。
我在 Android 11 设备上收到以下错误
java.lang.AssertionError:活动永远不会变为请求状态“[STARTED、RESUMED、CREATED、DESTROYED]”(最后一个生命周期转换=“PRE_ON_CREATE”)
我在这上面浪费了很多时间,当我将设备切换到 Android 10 时找到了解决方案。
如果有人遇到此类问题,请执行以下操作来解决它,
| 归档时间: |
|
| 查看次数: |
6840 次 |
| 最近记录: |