android-espresso 相关问题

Espresso是一个用于编写Android UI测试的库。也被称为Google的Android测试工具

Espresso - 获取元素文本

如果我有一个“AppCompatTextView”元素,我可以通过以下方式访问: onView(withId(R.id.allergies_text)) 来自布局检查器: 有没有办法可以访问 Android Studio 中元素的文本? (到

回答 5 投票 0

Android Gradle 托管设备 - 无法检索设备错误

当尝试运行多个 gradle 托管设备时,在一台机器上我们收到错误 “无法检索 2 个设备,只有 1 个可用。继续在 1 个分片上运行测试。” 使用这个运行

回答 2 投票 0

Espresso 意向阴性检查

我正在学习一些使用 Espresso 的测试,并且我已经了解如何检查意图是否已启动。 我不明白的是我如何检查意图是否未启动。 我尝试过...

回答 1 投票 0

Espresso 与找到的意图不符

我尝试在 Android Espresso 上使用 Matcher 来模拟以下内容: Intent { act=android.intent.action.CHOOSER (has extras) } 处理包:[[android, com.android.systemui]],额外内容: [

回答 1 投票 0

如何使用 Espresso 测试操作栏上的主页按钮?

我已启用主页按钮以返回到上一个视图。简单地说,这样做: getActionBar().setDisplayHomeAsUpEnabled(true); 我正在使用最新版本的 com.android.support:appcompat-v7:2...

回答 5 投票 0

如何让 JUnit4 在运行测试之前“等待”异步作业完成

我正在尝试为与云服务通信的 Android 应用程序编写一个测试。 理论上测试流程应该是这样的: 在工作线程中向服务器发送请求 哇...

回答 2 投票 0

如何使用 Espresso 单独测试片段?

我有一个要测试的片段。我创建了一个测试活动,向其中添加此片段并运行一些 Espresso 测试。 但是,Espresso 在 Fragment 内找不到任何视图。它...

回答 6 投票 0

Android Espresso:如何将文本输入到嵌入 TextInputLayout 的 editText 中

寻找一种方法将 Text 或 typeText 替换为嵌入 TextInputLayout 中的编辑文本。 我尝试过一些这样的事情: 执行(ViewActions.typeTextIntoFocusedView(“字符串”)); ...

回答 4 投票 0

用 Espresso 单击弹出菜单按钮?

有没有办法单击锚定到 ListView 项目的膨胀 PopupMenu 中的项目? 我有一个通过单击 ListView 内的按钮创建的 PopupMenu。我需要单击 p 内的一个项目...

回答 1 投票 0

Gradle 托管设备 - 蓝牙不断停止

通过运行 gradle 管理的设备时 ./gradlew Pixel4api32DebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.xxx.xxx.xxx.Suites.CITestSuite -Pandroid.experimental.androidTest.

回答 1 投票 0

Android Studio 中未启用“记录浓缩咖啡测试”选项

“记录浓缩咖啡测试”选项在 Android Studio 中显示为灰色。 造成这种情况的可能原因有哪些? 我已经安装了 Espresso 测试依赖项并且正在运行模拟器。

回答 1 投票 0

使用 Orchestrator 时在 Android 中使用 Jacoco 实现代码覆盖率

我正在尝试从我们的测试套件获取覆盖率报告,该测试套件需要与 Android Test Orchestrator 一起运行。 有一个固定问题引用了另一个固定问题。 按照他们的建议,我...

回答 1 投票 0

在 Android Studio 中的 UI 测试中等待函数而不使用 Thread.Sleep() 的最佳方法是什么?

我正在使用 Espresso 为我开发的 Android 应用程序编写一些自动化测试。所有测试都是自动化的,并且根据 UI 发生的情况来通过/失败。我已经运行了代码

回答 1 投票 0

Android:将 JSON 解析为 gradle 参数

我需要将 JSON 解析为 gradle 参数,以通过该数据提供 UI 测试。我目前在 build.gradle 中做什么: def getJson() { 项目.getProperties().get('getJson') } 然后我...

回答 1 投票 0

由于 AnimatedVectorDrawableCompat 导致的 AppNotIdleException

我有以下动画矢量可绘制: 我有以下动画矢量可绘制: <?xml version="1.0" encoding="utf-8"?> <animated-vector xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/ic_ventilation" > <target android:name="fan_group" android:animation="@animator/fan_rotation_animation" /> </animated-vector> 它只是使用旋转动画为风扇设置动画。 我在 ImageView 中设置此图标并调用以下方法控制开始/停止动画(nnly 在 Lollipop 和 high 中): public void setStopped(boolean stopped) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { this.setImageResource(R.drawable.ic_ventilation_animated); Drawable drawable = this.getDrawable(); if (drawable instanceof AnimatedVectorDrawableCompat) { if(stopped) { ((AnimatedVectorDrawableCompat) drawable).stop(); } else { ((AnimatedVectorDrawableCompat) drawable).start(); } } } } 但是我遇到以下异常: android.support.test.espresso.AppNotIdleException: Looped for 3654 iterations over 60 SECONDS. The following Idle Conditions failed . at dalvik.system.VMStack.getThreadStackTrace(Native Method) at java.lang.Thread.getStackTrace(Thread.java:580) at android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:88) at android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:51) at android.support.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:312) at android.support.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:173) at android.support.test.espresso.ViewInteraction.perform(ViewInteraction.java:114) 我在开发者选项菜单中禁用了动画,如此处所述。 禁用动画后,我发现调用 ((AnimatedVectorDrawableCompat) drawable).start(); 后图标不再有动画效果。但是,会引发异常。 即使动画被禁用,调用((AnimatedVectorDrawableCompat) drawable).start();方法时是否有问题?我该如何解决这个问题,以便我可以运行我的测试而无需关心动画? 在我的例子中,这个问题是由设置为无限重复动画的objectAnimator引起的(android:repeatCount="infinite")。 该问题也仅存在于较旧的平台版本上。测试在 Android 9 上完美运行,而问题在 Android 5 和 6 上重现(目前不确定 7 和 8)。 我相信,问题的根本原因与不确定的进度条相同(在此问题中涵盖)。但是,我还没有找到任何好的解决方案,只有解决方法。 解决方法之一是检测设置中动画已关闭(动画师持续时间为 0),并且不启动动画。当然,这只适用于动画不自动启动的平台版本。 private fun startIconAnimation(imageView: ImageView) { if (areAnimationsEnabled()) { (imageView.drawable as Animatable).start() } } private fun areAnimationsEnabled(): Boolean { val animatorDurationScale = Settings.Global.getFloat( requireContext().contentResolver, Settings.Global.ANIMATOR_DURATION_SCALE, 1.0f ) return animatorDurationScale != 0.0f } 注意:API 级别 26 引入了静态方法ValueAnimator.areAnimatorsEnabled(),如果问题不仅仅发生在旧平台版本上,这会很方便。

回答 1 投票 0

Android Espresso:java.lang.NoClassDefFoundError:解析失败:Landroidx/test/platform/io/FileTestStorage;

对于我正在制作的应用程序,我添加了以下 UI 测试代码: @LargeTest @RunWith(AndroidJUnit4::class) 类MainActivityTest { @规则 @JvmField var mActivityTestRule = ActivityTestR...

回答 4 投票 0

CI 针对性浓缩咖啡测试

有没有一种方法可以让我们自动、有选择地只运行每个 PR 的相关测试用例? 我公司在 CI/CD 管道中集成了 Espresso 测试,因此每个 PR 都需要经过 espresso ...

回答 1 投票 0

活动永远不会变成请求的状态“[DESTROYED、RESUMED、STARTED、CREATED]”(最后一个生命周期转换=“PRE_ON_CREATE”)

这不是重复的问题。 我已经看过类似的问题。我已经添加了我上次提到的问题。 我的问题是测试执行了,但我必须打开...

回答 7 投票 0

预计 Android Espresso 测试中会出现异常 - 失败

我正在使用 Kotlin 在 Espresso 中为我的 Android 应用程序编写测试。 我希望在单元测试中期待异常,并在发现此类异常时通过测试。 我做了一个测试,结果是...

回答 2 投票 0

在 Espresso 测试中,如何等待由 RememberCoroutineScope() 的作用域启动的协程?

我的 Android 应用程序正在使用 Jetpack Compose。在我的一个 @Composable 函数中,我得到了一个协程作用域: @可组合 有趣的 MyComposable() { val 范围 = RememberCoroutineScope() // ... 然后,...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.