Arn*_*r Z 5 android automated-tests kotlin android-jetpack android-jetpack-compose
我正在使用 Jetpack Compose 来渲染我的应用程序的 UI。我目前正在为库开发一些测试,但我无法找到任何正确的方法来检查权限。我目前正在使用伴奏者权限库来检查权限。然而,似乎在测试开始时已经授予了权限,即使我当前正在检查位置权限,据我所知,实际上不应该授予该权限。
我应该如何检查权限是否被授予,以及如何在权限对话框上执行点击?也许有这样的东西?
composeTestRule.onNodeWithText("While using the app").performClick()
Run Code Online (Sandbox Code Playgroud)
对我来说似乎很脏。
注意:我正在初始化,composeTestRule就像官方指南所示:
@get:Rule
val composeTestRule = createComposeRule()
Run Code Online (Sandbox Code Playgroud)
预先感谢您的帮助,如果需要,我很乐意提供更多信息。
编辑 1:记住将权限添加到清单中非常重要。就我而言,我在应用程序中为该库使用单独的模块,因此我忘记添加我请求的权限。例子:
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.yourpackage"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>
Run Code Online (Sandbox Code Playgroud)
编辑2:指令,例如
composeTestRule.onNodeWithText("Precise").performClick()
composeTestRule.onNodeWithText("While using the app").performClick()
Run Code Online (Sandbox Code Playgroud)
完全不起作用,因为对话框位于撰写视图之外。也许使用原始浓缩咖啡?
最后的想法:经过一番深入的调查,似乎这可能无法通过 Jetpack Compose 测试进行测试,Espresso 也无法进行测试。这种测试必须使用UiAutomator(官方文档)来执行。
| 归档时间: |
|
| 查看次数: |
962 次 |
| 最近记录: |