如何在Espresso中做一个测试,检查包含HTML标签的字符串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Espresso中做一个测试,检查包含HTML标签的字符串?相关的知识,希望对你有一定的参考价值。

我在一个android Fragment上做了一些UI测试,我的代码里有以下字符串。

textView.text = html.fromHtml("$updateText <u>Change</u>?")

而在我的测试中,我有这样的代码:

recoverPasswordAssert{

    checkTextIsVisible("Number format. Change?")
}

当我运行测试时,发生了一个错误:

androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with text: is "Number format. Change?"

我想是缺少了片段代码中的HTML标签 但如何在Espresso测试中获取该标签?

答案
val text = InstrumentationRegistry.getInstrumentation().targetContext.getString(R.string.<string_id>)
onView(withText(text)).check(matches(isDisplayed()))

在这里,我有以下代码: ... <string_id> 是来自 strings.xml 格式如下:

<string name="some_string_key"><![CDATA[Example HTML text with <u>this</u> and <b>that</b>.]]></string>

以上是关于如何在Espresso中做一个测试,检查包含HTML标签的字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Espresso 中测试 ActionMenuItemView 的图标

如何使用 Espresso 测试特定活动?

检查 Espresso 是不是显示对话框

Android Marshmallow:使用 Espresso 测试权限?

我们如何使用 espresso 来测试带有 PreferenceFragment 的 android 设置活动?

Espresso - 如何匹配 ActionBar 的可见性?