java - 如何在没有 R.id.edit_text 的情况下在 Espresso 中进行测试?

标签 java android-espresso

我在类(class)中创建动态字段。而且我无法在布局(.xml)中编写EditTexts,所以我没有R.id.edit_text,如何在Espresso 2中测试没有R.id.edit_text的编辑文本?如果我有 R.id.edit_text - 我可以写 onView(withId(R.id.edit_text)).perform(typeText("123")); 但我没有 R .id.edit_text.

最佳答案

withId 只是 View 匹配器之一。您可以使用适合您情况的其他产品。您可以在 com.google.android.apps.common.testing.ui.espresso.matcherViewMatchers 下进行检查。 谷歌代码可以找到here .

还有hamcrest匹配器可以帮助获得更复杂的条件。

示例之一可能是这样的:

onView(allOf(
    isAssignableFrom("class name"), 
    withText("Text to match")))
    .perform(...);

如果您需要更复杂的匹配器,您也可以编写自己的匹配器。
我还建议阅读the Espresso documentation .

关于java - 如何在没有 R.id.edit_text 的情况下在 Espresso 中进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30219784/

相关文章:

java - 如何重新排列wordcount hadoop输出结果并按值排序

android - intent-filter 不适用于 android 中的 ActivityTestRule

android - 当许多在层次结构中时,Espresso 匹配第一个元素

java - 如何将循环链表排入队列,同时确保最后一个元素指向第一个元素?

java - 如何在不解析日志文件的情况下获取Kafka连接状态?能够对 "Connection to node terminated during authentication."采取行动

java - 使用entityManager将多条记录插入到包含@GenerateValue的表中

java - JDK 合规性 - 虚假安全?

未找到 Android Espresso fragment 根 ID

Android Espresso ListView 点击项目

android - 为什么我找不到测试?