Espresso 单击 Textview 内的特定子字符串

use*_*067 2 android android-testing android-espresso

我有一个包含文本视图的布局,如下所示,它将在文本块中包含一些自动生成的链接。当用户单击链接时,会打开一个包含相关信息的窗口。

应用程序的屏幕截图

但是,我根本不知道如何让 Espresso 单击链接。尝试过很多类似的变体

matches(withText(containsString("45")))

但这要么不起作用,要么让浓缩咖啡只需单击文本框本身,这不会执行任何操作。

有什么办法可以做到这一点吗?在 Espresso 的限制范围内是否有可能?

Ski*_*ᴉʞS 8

您可以使用openLinkWithText(String linkText)

返回一个打开与给定链接文本和 uri 匹配器匹配的链接的操作。该操作是通过调用链接的 onClick 方法来执行的(而不是实际在屏幕上发出单击)。

这是如何使用它的示例:

Espresso.onView(ViewMatchers
.withId(R.id.your_text_view_id))
.perform(ViewActions.openLinkWithText("45")); 
Run Code Online (Sandbox Code Playgroud)

参考文献:espresso-recipes-for-android