Robotium测试总结

1、测试类要继承ActivityInstrumentationTestCase2<测试类类名>

2、构造方法中super("包名",测试类类名.class);
3、setUp方法中solo = new Solo(getInstrumentation(),getActivity());
4、tearDown方法
try {
solo.finalize();
} catch (Throwable e) {
e.printstacktrace();
}
getActivity().finish();
super.tearDown();
5、点击自动
clickOnMenuItem("菜单名")
clickInList(列表行数) 注:从1开始
clickOnText("(?i).*?test.*") 点击文本
clickLongOnText("Note 2") 长时间点击文本
clickOnButton("按钮名") 点击按钮
6、输入自动
enterText(号,"输入的内容")
7、屏幕控制
setActivityOrientation(Solo.LANDSCAPE或Solo.PORTRAIT) 控制屏幕横向或纵向显示
8、跳转
goBack() 模仿硬返回键
goBackToActivity("Activity名") 跳到指定的Activity
9、判断
判断当前是否是指定的Activity
assertCurrentActivity("测试提示","Activity名");
搜索指定文本是否存在
searchText("搜索文本")或searchText("(?i).*?note 1 test") 后面这个是正则表达式
10、获取
(EditText) solo.getView(R.id.EditText01);
(TextView) solo.getView(R.id.TextView01);
ArrayList currentTextViews = solo.getCurrentTextViews(outputField);
11、点击按钮等测试中需要注意2点:
(1)真机测试时发现,屏保后点击按钮测试会报找不到该按钮,也就是点不中的意思,看来测试机器人还真仿真啊。
(2)点击按钮后有个延迟的过程,以后的测试需要循环等待一段时间,否则直接进入下面的测试后误报错错误,此处处理示例如下:
// 点击按钮开启服务
solo.clickOnButton(butStartService);
// 判断指定服务是否存在
long start = System.currentTimeMillis();
while (!isServiceStarted(SERVICE_PACKAGE_NAME)) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
if ((System.currentTimeMillis() - start) > TIMEOUT) {
break;

assertTrue("没有开启服务",isServiceStarted(SERVICE_PACKAGE_NAME));

文章来源:http://www.jb51.cc/article/p-xaiibxgg-y.html

作者:pugongying1988

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...