Android Espresso入门到自动搞定

本文介绍了Android的Espresso测试框架,包括它的用途、添加依赖、基本使用、核心概念、方法介绍和错误处理。Espresso允许开发者编写简洁的UI测试,模拟用户操作并检查界面状态。文章还提到了Espresso自动生成测试用例的功能,以及其与UI Automator的对比优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

没有捕抓不到的猎物,就看你有没有野心去捕抓;没有完成不了的事情,就看你有没有野心去做。  ————《狼道》

目录

一、前言

二、简介

(1)是什么

(2)有什么用

(3)怎么用

1.添加依赖

2.基本使用

3.基础知识 

4.方法介绍

5.错误处理

6.自动生成测试用例

三、原理

(4)原理是什么

四、总结

(5)优点与缺点

五、内容推荐

六、项目参考



一、前言

很早之前写过一篇《JUnit单元测试》,比较简单常用的测试方法。写的只能算是入门知识也不算很细。后面又用过UI Automator与Espresso,不过都没好好总结。最近刚好需要重新回顾了一下,顺便也做下记录。UI Automator与Espresso都是Android自动化测试框架,各有优缺点,不过个人相比起来更喜欢后者。这里就给大家简单介绍下Espresso,整体大纲如下

二、简介

相关文档:Google文档 、其他网站

(1)是什么

Espresso是一个非常强大的Android UI测试框架。功能类似于ui Automator,但测试由熟悉被测代码库的人来编写最好。

(2)有什么用

使用Espresso可模拟用户操作、检测数据编写简洁、漂亮、可靠的Android UI测试。

(3)怎么用

1.添加依赖

androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
androidTestImplementation 'androidx.test:runner:1.1.0'
androidTestImplementation 'androidx.test:rules:1.1.0'
//可选 提供ApplicationProvider.getApplicationContext()
androidTestImplementation 'androidx.test:core:1.2.0'

2.基本使用

//公式:
onView(withId(R.id.greet_button)).perform(ViewAction).check(ViewAssertion);
onData(ObjectMatcher).DataOptions.perform(ViewAction).check(ViewAssertion);

根据下面例子,给大家简单解释下这些方法的作用

@RunWith(AndroidJUnit4.class)
@LargeTest
public class MainActivityTest {
    //启动Activity  不懂Rule可查阅junit.@Rule类似于@Before
    @Rule
    public ActivityTestRule<MainActivity> mActivityTestRule = new ActivityTestRule<>(MainActivity.class);

    @Test
    public void mainActivityTest() {
        //2.withId()匹配控件(View)id,其它匹配方法可在ViewMatchers类中获得,如:withText()
        Matcher<View> viewMatcher = withId(R.id.xxx);
        //1.onView()、onData()是启动测试的入口 ,通过传入匹配器(Matcher)获取ViewInteraction实例来执行一些测试操作
        ViewInteraction viewInteraction = onView(viewMatcher);
        //3.通过ViewInteraction.perform() 执行操作。操作的方法在 ViewActions中,如:click()点击
        viewInteraction.perform(click());
        //5.通过通过ViewInteractions类获取到viewInteraction对象
        ViewAssertion viewAssertion 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值