首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Espresso中测试包含HTML标签的字符串?

在Espresso中测试包含HTML标签的字符串,可以通过以下步骤实现:

  1. 导入所需的依赖库:在项目的build.gradle文件中,添加Espresso的依赖库。
代码语言:txt
复制
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'androidx.test.espresso:espresso-web:3.4.0'
  1. 创建测试用例:在测试包中创建一个测试类,并添加测试方法。
代码语言:txt
复制
import androidx.test.espresso.web.webdriver.Locator;
import androidx.test.espresso.web.webdriver.WebDriverAssertions;
import androidx.test.espresso.web.webdriver.WebDriverAtomScripts;
import androidx.test.espresso.web.webdriver.WebDriverWebActions;
import androidx.test.espresso.web.webdriver.Locator;
import androidx.test.espresso.web.webdriver.WebDriverAssertions;
import androidx.test.espresso.web.webdriver.WebDriverAtomScripts;
import androidx.test.espresso.web.webdriver.WebDriverWebActions;
import androidx.test.espresso.web.webdriver.Locator;
import androidx.test.espresso.web.webdriver.WebDriverAssertions;
import androidx.test.espresso.web.webdriver.WebDriverAtomScripts;
import androidx.test.espresso.web.webdriver.WebDriverWebActions;
import androidx.test.espresso.web.webdriver.Locator;
import androidx.test.espresso.web.webdriver.WebDriverAssertions;
import androidx.test.espresso.web.webdriver.WebDriverAtomScripts;
import androidx.test.espresso.web.webdriver.WebDriverWebActions;

import org.junit.Test;
import org.junit.runner.RunWith;

import androidx.test.espresso.Espresso;
import androidx.test.espresso.web.assertion.WebViewAssertions;
import androidx.test.espresso.web.matcher.DomMatchers;
import androidx.test.espresso.web.sugar.Web;
import androidx.test.espresso.web.webdriver.DriverAtoms;
import androidx.test.espresso.web.webdriver.Locator;
import androidx.test.espresso.web.webdriver.WebDriverAssertions;
import androidx.test.espresso.web.webdriver.WebDriverAtomScripts;
import androidx.test.espresso.web.webdriver.WebDriverWebActions;
import androidx.test.espresso.web.webdriver.Locator;
import androidx.test.espresso.web.webdriver.WebDriverAssertions;
import androidx.test.espresso.web.webdriver.WebDriverAtomScripts;
import androidx.test.espresso.web.webdriver.WebDriverWebActions;
import androidx.test.espresso.web.webdriver.Locator;
import androidx.test.espresso.web.webdriver.WebDriverAssertions;
import androidx.test.espresso.web.webdriver.WebDriverAtomScripts;
import androidx.test.espresso.web.webdriver.WebDriverWebActions;
import androidx.test.espresso.web.webdriver.Locator;
import androidx.test.espresso.web.webdriver.WebDriverAssertions;
import androidx.test.espresso.web.webdriver.WebDriverAtomScripts;
import androidx.test.espresso.web.webdriver.WebDriverWebActions;

import org.junit.Test;
import org.junit.runner.RunWith;

import androidx.test.espresso.Espresso;
import androidx.test.espresso.web.assertion.WebViewAssertions;
import androidx.test.espresso.web.matcher.DomMatchers;
import androidx.test.espresso.web.sugar.Web;

import static androidx.test.espresso.web.webdriver.DriverAtoms.*;
import static androidx.test.espresso.web.webdriver.Locator.*;
import static androidx.test.espresso.web.webdriver.WebDriverAssertions.*;
import static androidx.test.espresso.web.webdriver.WebDriverAtomScripts.*;
import static androidx.test.espresso.web.webdriver.WebDriverWebActions.*;

@RunWith(AndroidJUnit4.class)
public class HtmlStringTest {

    @Test
    public void testHtmlString() {
        String htmlString = "<p>This is a <strong>bold</strong> text.</p>";

        Espresso.onView(withId(R.id.webview))
                .perform(webClick())
                .perform(webKeys(htmlString))
                .check(webMatches(getText(), DomMatchers.containsText("bold")));
    }
}
  1. 运行测试用例:在Android Studio中,右键点击测试类,选择"Run 'HtmlStringTest'"来运行测试用例。

这样,就可以在Espresso中测试包含HTML标签的字符串了。在测试方法中,我们使用Espresso的web操作来模拟在WebView中输入HTML字符串,并使用DomMatchers来验证是否包含指定的文本。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 「Strve.js@2.x正式发布与做open source的一些感受」从90%到100%这个过程真难!

    可能我比较幸运点吧!因为在美国这边大家对工作平衡比较注意,像谷歌的话就比较舒服的了。虽然我们刚进去也年轻,偶尔也加加班,但是整体而言,在谷歌的话,你任务完成了想什么时候走都可以。所以在国内确实会难一些,业务压力会大的话。所以如果你真的觉得业务压力就更大,工作就很忙。那我建议就可能不要逼自己,如果真觉得太累,就不要逼自己。 这个开源本身也其实就是说,这个大家做开源其实都有一个阶段,就是你刚开始有一个想法想把它做出来,刚开始是一种快乐的一种状态,就是把一个想法从零到一那种快感,就是做技术人员都有这种创造一种东西的想法。但是开源在另一个过程完成之后立刻进入一种,就是从90%到100%这个过程其实是很困难的,你就会发现把一个玩具做成真的能用的东西就需要投入很多,当你把它做得真的能用,真的有人用的时候,这些人就会继续给你提不停的要求。这就说,哎呀!我得去回应这些人的期待,这又是一种心理压力。 其实说就是很多时候,大家都是刚开始做开源的时候,这种创造一种东西的快感所吸引。没有意识到你以后会有很多的commit。我对很多想要做开源的朋友的建议是,想清楚你做开源想要做什么,如果你就只是想写一个库觉得很爽,但是我后期不想去做让它耗费我很多精力去维护它,也没有问题,其实就跟大家明确这个想法。但是如果说你想做一个项目想做大做好,想跟React竞争的项目,那这个东西需要极大的投入的。如果你工作本质就很烦忙,那么大概率你就没有可能做这个。所以确实说,想好你的想要什么吧!如果你没有真的条件,如果真的很拼很拼,我就是996,我也要做开源,那你要做好心理准备。我有一段时间把自己搞成996这种状态,就是上完班回来搞Vue,其实这样精神压力是挺大的。我现在可能站着说话不腰疼,我现在还是觉得平衡一点的好。

    02

    Matcher类的简单使用

    今天工作时遇到一个问题, 用正则处理html标签时不知该如何下手。还好有Matcher帮助解决了问题。 需求如下: 例如有如下html文章内容:

    百度的链接; 这是一个百度的链接。 驾考宝典的链接这是一个驾考宝典的链接

    ; 在我们做文章内链的时候, 往往掺杂了一些我们不想要的链接, 如上所示我们只想保留www.jiakaobaodian.com 的链接, 如下是我们希望

    07
    领券