android-espresso 相关问题

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

Espresso 在自定义视图中找不到文本

假设我有一个从头开始构建的自定义视图,如下所示: 类 CustomTextView @JvmOverloads 构造函数( 上下文:上下文, attrs:属性集? = 空, defStyleAttr: Int = 0,

回答 2 投票 0

在浓缩咖啡测试期间提供导航参数

我看到 Stack Overflow 似乎正在删除有关此主题的问题。不知道为什么.. 文档中没有任何关于它的内容。 我正在尝试测试作为导航一部分的片段...

回答 2 投票 0

Espresso AutoCompleteTextView 单击

所以我最近开始在我现有的 Android 项目之一中摆弄 Espresso。 一切都很顺利,直到我在程序中找到 AutoCompleteTextView。我好像没有

回答 7 投票 0

Integer 在 espresso 测试中的 launchFragmentInContainer 包中提供了 NPE

我有一个片段等待来自args的整数。代码本身工作正常,但是当我想为此片段编写 UI 测试时,它给了我一个 java.lang.NullPointerException:null 不能...

回答 1 投票 0

Androidx:如何在 UI 测试中测试 Slider(Espresso)?

如何在滑块(移动光标)上执行操作? 如何检查滑块值? 是否有任何现有的功能? 滑块看起来像这样: 如何在滑块上执行操作(移动光标)? 如何检查滑块值? 有现成的功能吗? 滑块看起来像这样: <com.google.android.material.slider.Slider android:id="@+id/sliderRating" android:layout_width="match_parent" android:layout_height="wrap_content" android:stepSize="1" android:valueFrom="1.0" android:valueTo="5.0" /> 浓缩咖啡检查:onView(withId(R.id.sliderRating)).check( -> TODO <- ) 创建几个方法来做到这一点很容易。 这是我所拥有的: fun withValue(expectedValue: Float): Matcher<View?> { return object : BoundedMatcher<View?, Slider>(Slider::class.java) { override fun describeTo(description: Description) { description.appendText("expected: $expectedValue") } override fun matchesSafely(slider: Slider?): Boolean { return slider?.value == expectedValue } } } fun setValue(value: Float): ViewAction { return object : ViewAction { override fun getDescription(): String { return "Set Slider value to $value" } override fun getConstraints(): Matcher<View> { return ViewMatchers.isAssignableFrom(Slider::class.java) } override fun perform(uiController: UiController?, view: View) { val seekBar = view as Slider seekBar.value = value } } } 第一个是自定义视图匹配器,用于测试 Slider 是否具有特定值,第二个是自定义视图操作,用于设置新值。 使用它们的简单测试示例只是为了了解它们的工作原理: @Test fun testSlider() { onView(withId(R.id.sliderRating)).check(matches(withValue(1.0F))) onView(withId(R.id.sliderRating)).perform(setValue(2.0F)) onView(withId(R.id.sliderRating)).check(matches(withValue(2.0F))) } 此测试首先检查滑块的值是否为 1.0,然后将其值更改为 2.0,并使用匹配器检查该值现在是否为 2.0。 我有 kotlin 中的代码,但如果你需要 java 中的代码,它可以很容易地转换(android studio 可以做到这一点)。由于问题没有标记语言,我不知道您需要哪一种,下次标记它。 如果您正在使用OnSliderTouchListener,这里是解决方案。 fun Slider.setValueAndClick(value: Float) { this.value = value val baseSliderClass = this.javaClass.superclass val touchListenersField: Field = baseSliderClass.getDeclaredField("touchListeners") touchListenersField.isAccessible = true val listeners = touchListenersField.get(this) as? List<*> val listener = listeners?.find { it is Slider.OnSliderTouchListener } if (listener == null) return for (method in listener.javaClass.declaredMethods) { if (method.name == "onStopTrackingTouch") { Log.e(TestUtils::class.simpleName, method.) method.isAccessible = true method.invoke(listener, this) break } } } }

回答 2 投票 0

androidTest 没有给出任何结果

我正在运行 UI 测试,但它只是不断加载,没有给出任何成功或失败,但如果我在另一个 Android Studio 上运行测试,则相同的代码会成功。我已经重新安装了 Android

回答 1 投票 0

Espresso 中的条形码扫描

上下文: 我必须在 Espresso 中编写一个自动化测试,通过按设备的红外 (IR) 扫描仪按钮从应用程序屏幕(如图 1 所示)扫描条形码。扫描后,如果 bc 是...

回答 1 投票 0

运行UTP测试套件时发生未知平台错误

尝试使用 Circleci 构建 Android 应用程序 Espresso Instrumentation Tests 时,运行 UTP 测试套件时发生未知平台错误。 任务:app:connectedDebugAndroidTest 失败 测试结果...

回答 6 投票 0

通过writeToTestStorage方法保存位图

我尝试用Espresso进行截图测试: 测试 类屏幕截图测试{ @get:规则 var nameRule = 测试名称() @get:规则 var mActivityTestRule = ActivityTestRule(MainActivity::class.java) @测试...

回答 2 投票 0

Android-espresso (Kotlin):通过 writeToTestStorage 方法保存位图

我尝试用Espresso进行截图测试: 测试 类屏幕截图测试{ @get:规则 var nameRule = 测试名称() @get:规则 var mActivityTestRule = ActivityTestRule(MainActivity::class.java) @测试...

回答 2 投票 0

Espresso 测试被后台线程阻止。应用程序不空闲异常:“AppNotIdleException。”

我的 android espresso 单元测试由于某些后台线程不空闲而被阻止。我如何找出哪个线程正在阻止我的应用程序执行? android.support.test.espresso.

回答 4 投票 0

Android Espresso webClick() 不适用于输入标签

我的问题是,当我有一个 并尝试使用 webClick() 单击它时,没有任何反应。

回答 2 投票 0

androidTest(已检测):如何在 Android 8.0 (API 26) 上单击“允许”按钮?

对于仪器化的 androidTest 测试,当应用程序在运行 Android 8 (API 26) 的设备上启动时,我需要单击系统弹出的“允许”按钮: (注:在 Android 14 上(API ...

回答 1 投票 0

Android 仪器测试并未在某些设备上全部运行

我有一个 Android 应用程序,包含 225 次浓缩咖啡测试。 到目前为止,我始终能够在所有设备(三星智能手机和平板电脑,从 Android 7 到 14)上以原始方式运行所有测试 我现在有了一个品牌...

回答 1 投票 0

Espresso 测试期间出现 NoMatchingViewException 错误

我正在做Fragment是否显示的仪器测试。当我开始执行测试时,我可以在物理设备中看到 FragmentLogin 视图,但测试失败,并显示 androidx.test.es...

回答 1 投票 0

androidTest 与 Appium——给定项目都需要吗?

正式的 Android 开发人员文档提供了有关测试 Android 应用程序的基础知识的启发性介绍。 我成功地在 A 中创建了 3 种不同类型的测试设置...

回答 1 投票 0

Android Espresso 集成测试如何在 Activity 的 onCreate 方法之前运行代码?

如何在测试活动中调用 onCreate 之前运行代码? @Before 在 onCreate 之后调用,这会导致问题。 我正在使用 公共 ActivityScenarioRule ActivityScenarioRule = 新

回答 1 投票 0


测试错误 - NoClassDefFoundError:解析失败:Lorg/hamcrest/Matchers

我正在使用 Espresso 进行仪器测试,但在堆栈跟踪上出现此错误: 该错误是由于缺少类引起的,如下所示: 引起原因:java.lang.ClassNotFoundException:没有找到...

回答 4 投票 0

androidx.test.espresso.screenshot.captureToBitmap 与 3.6.x

从 Android Espresso libs 3.6.0 开始,captureToBitmap 已更改 以前的 3.5.x 版本: 有趣的 ViewInteraction.captureToBitmap(): 位图 { 使用它 onView(isRoot()).captureToBitmap().

回答 1 投票 0

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