2016年1月20日,星期三

如何添加和运行您的第一个Espresso测试用例?



在添加任何测试用例之前,务必要遵循正确的项目结构。 点击这里 知道在哪里添加您的Espresso仪器测试用例。

影片教学-



在本文结束时,您将准备好第一个Espresso测试用例。在Espresso中有两种编写测试用例套装的方法,本篇文章将针对简单的Hello World App涵盖这两种方法。

第一种方法是使用Activity Instrumentation。下面是简单测试用例,它会在启动活动后检查具有给定ID的UI元素->
1.该类使用两个注释@LargeTest和@Runwith这两个注释用于指定TestClass的行为。
2.该类扩展了AcitivtyInstrumentationTestCase2类,其启动活动为MainActivity,在本示例中我们将对其进行测试。
3. @Before和@After是批注,用于指定在每个测试用例之前应执行哪个方法以及在每个测试用例完成后应执行哪个方法。
4.为每个测试用例方法添加@Test批注。
5.在下面的测试案例中,getAcitivity()启动了我们的Main Activity。
6. onView()用于选择要测试的视图,withId()用于定位UI元素,rest用于检查特定元素是否显示。



@RunWith(AndroidJUnit4.class)
@LargeTest
public class  浓咖啡 Test1 extends ActivityInstrumentationTestCase2<MainActivity>{

        public  浓咖啡 Test1() {
            super(MainActivity.class);
        }

        @Before 
         public void setUp() throws Exception {
            super.setUp();
            injectInstrumentation(InstrumentationRegistry.getInstrumentation());
        }

        @Test 
        public void test1ChatId() {
            getActivity();
            onView(withId(R.id.anuja)).check(matches(isDisplayed()));
        }

        @After        public void tearDown() throws Exception {
            super.tearDown();
        }
}


第二种方法是不使用活动规范->
1. 该类使用两个批注@LargeTest和@Run,这两个批注 批注用于指定我们的TestClass的行为。
2.下面的代码行用于按特定顺序运行测试用例。
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
3. @Before和@After是注释,用于指定哪种方法 应该在每个测试用例之前执行,应该使用哪种方法 在完成每个测试用例之后执行。
4.onView()用于选择要测试的视图,withId()用于 找到UI元素,其余的用于检查特定的 元素是否显示。


@RunWith(AndroidJUnit4.class)
@LargeTest
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class  浓咖啡 Test2 { 

@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(
        MainActivity.class); 


 @Before 
 public void setUp() throws Exception {
        //Before Test case execution 
}

    @Test     
      public void test1ChatId() {
        onView(withId(R.id.anuja)).check(matches(isDisplayed()));
    }

    @After 
public void tearDown() throws Exception {
    //After Test case Execution
    }
}


如何运行这些测试用例->
1.单击“构建变体”。
2.选择Android Instrumentation测试。
第一次浓咖啡测试
第一次浓咖啡测试

3.选择类名称或测试用例名称-> right click ->
写&  跑   浓咖啡  Test
运行首次浓缩咖啡测试


注意 -  
在下面的代码中添加defaultConfig b在运行测试用例之前-

testInstrumentationRunner"android.support.test.runner.AndroidJUnitRunner"


我希望这篇文章可以帮助您找到测试服的代码范围:)
请在下面的评论部分中分享您的反馈,并按照质量检查自动化以获取最新的帖子更新。HappyTesting :-)

17条评论:

  1. 我们在build.gradle的默认配置中不需要吗?
    testInstrumentationRunner"android.support.test.runner.AndroidJUnitRunner"

    回复 删除
    回覆
    1. 最后一年的机器学习项目 最后一年的机器学习项目

      深度学习项目可帮助即将毕业的学生快速提高您应用的深度学习技能,同时使您能够研究一个有趣的观点。此外,您可以将最后一年的深度学习项目纳入您的投资组合,从而更轻松地获得职业,发现出色的职业空缺以及 最后一年的深度学习项目 甚至安排更大的赔偿。

      钦奈的Python培训 钦奈的Python培训 角度训练

      删除
  2. 是的,我们需要您在运行测试用例时也可以在“编辑运行配置”中执行此操作

    回复 删除
  3. 嘿Anuja,

    我可以知道如何检查Elements吗?
    实际上,我对Espresso自动化工具非常陌生

    回复 删除
  4. 你好

    我低于错误
    java.lang.Exception:没有可运行的方法
    在org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191)
    在org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128)
    在org.junit.runners.ParentRunner.validate(ParentRunner.java:416)
    在org.junit.runners.ParentRunner。(ParentRunner.java:84)
    在org.junit.runners.BlockJUnit4ClassRunner。(BlockJUnit4ClassRunner.java:65)

    回复 删除
    回覆
    1. 我正面临着同样的问题。有什么帮助吗?

      删除
  5. 嗨,我是Android应用程序自动化测试的新手,我们没有应用程序源代码,我如何在没有应用程序源代码的情况下进行测试,我有APK文件,建议

    回复 删除
  6. 此评论已被作者删除。

    回复 删除
  7. 如何使用Expresso从真实设备启动该应用程序。

    回复 删除
  8. 当我尝试使用以下断言时,出现以下错误。
    onView(withId(R.id.edt_username))。check(matches((isDisplayed())));

    o层次结构中的视图匹配:ID:com.mytaxi.android_demo:id / edt_username
    如果目标视图不属于视图层次结构,则可能需要使用Espresso.onData从以下AdapterViews之一加载它:com.google.maps.api.android.lib6.impl.cj {23cd661 G.ED ..C .. ...... I。 0,0-0,0}

    回复 删除
  9. public ActivityTestRule mActivityRule =新的ActivityTestRule<>(
    MainActivity.class);

    ActivityTestRule您的情况是哪个类

    回复 删除
  10. 非常好的博客。对我们来说非常有用。感谢您提供良好的信息。请在此处访问:Cyber​​flix电视android

    回复 删除
  11. 我喜欢你的文章。您可以访问我的网站: yesmovies.go

    回复 删除