当前位置 : 主页 > 编程语言 > java >

Android Espresso测试

来源:互联网 收集:自由互联 发布时间:2022-07-13
一直不知道android的使用onView之类的测试较什么,所以查找andorid测试的时候只找到基础,后面终于知道这种叫Espersso测试。结合网上的参考,我认为有必要写篇文整理: 参考文章(最后一


一直不知道android的使用onView之类的测试较什么,所以查找andorid测试的时候只找到基础,后面终于知道这种叫Espersso测试。结合网上的参考,我认为有必要写篇文整理:

参考文章(最后一个是官方例子)

​​http://www.jianshu.com/p/22a09ae7b995​​​
​​​http://www.jianshu.com/p/00ab03f3d394​​​
​​​https://github.com/googlesamples/android-testing​​

首先,明确一下,测试分三步:初始化控件,操作控件,检查结果

初始化

初始化Activity

两步,定义规则(在哪一页)和初始化intent[该步骤在不需要intent传值时可省],注意,ActivityTestRule

public class MainActivityInstrumentationTest
private static final String STRING_TO_BE_TYPED = "Peter";

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

@Test
public void sayHello(){
Intent intent = new Intent();
intent.putExtra("name","dyy");
mActivityRule.launchActivity(intent)
}

}

初始化View

测试里面的View不叫View,叫ViewInteraction,获取方法(有很多种,因为一般操纵的view都有id,所以就用withId):

ViewInteraction view = onView(withId(R.id.my_view));

然后是操作控件:
view.perform([一些操作]);
常用操作,可用逗号分隔:
click():
返回一个点击action,Espresso利用这个方法执行一次点击操作,就和我们自己手动点击按钮一样,只不过Espresso把点击这个操作自动化了,下面的方法都是一样的道理,就不再赘述了.
clearText():
返回一个清除指定view中的文本action,在测试EditText时用的比较多
swipeLeft():
返回一个从右往左滑动的action,这个在测试ViewPager时特别有用
swipeRight():
返回一个从左往右滑动的action,这个在测试ViewPager时特别有用
swipeDown():
返回一个从上往下滑动的action
swipeUp():
返回一个从下往上滑动的action
closeSoftKeyboard():
返回一个关闭输入键盘的action
pressBack():
返回一个点击手机上返回键的action
doubleClick():
返回一个双击action
longClick():
返回一个长按action
scrollTo():
返回一个移动action
replaceText():
返回一个替换文本action
openLinkWithText():
返回一个打开指定链接action

一般的写法是:
onView(withId(R.id.xx)).perform(typeText(STRING_TO_BE_TYPED), closeSoftKeyboard());
或者:
onView(withId(R.id.xx)).check(matches(withText(“xx”)));

就是获取控件的语句和perform连用或者check连用,一般是二选一,当然,连起来也可以:
onView(withId(R.id.xx)).perform(typeText(STRING_TO_BE_TYPED), closeSoftKeyboard()).check(matches(isDisplayed()));

以上,是许多网页都找的到的,等我把官方的研究完,再写个2


上一篇:第13章 集合(11)Hashtable/Enumeration
下一篇:没有了
网友评论