Robotium 专题(四): Robotium 中部分常用的方法集锦

来源:互联网 发布:md5加密java代码 密钥 编辑:程序博客网 时间:2024/05/16 23:47

这几天一直在忙着产品上线,没有做更新,最近用robotium的地方也不是太多,只是在回归某个应用的时候会写一些Case,对于新的robotium.jar,还没来得急研究,里面多了几个软键盘操作的方法,明天抽空研究下。
今天就把平时用的较多的方法做个笔记,方便以后使用。

① 点击:

clickOnButton(int) //Clicks on a Button with a given index.clickOnButton(String) //Clicks on a Button with a given text.clickOnCheckBox(int) //Clicks on a CheckBox with a given index.clickOnView(View) //Clicks on a given View.clickOnText(String) //Clicks on a View displaying a given text.clickLongOnText(String) //Long clicks on a given View.clickOnRadioButton(int) //Clicks on a RadioButton with a given index.clickOnScreen(float, float) //Clicks on a given coordinate on the screen.

② 取得:

getCurrentActivity() //Returns the current Activity.getText(String) //Returns a TextView which shows a given text.getView(int) //Returns a View with a given id.getEditText(String) //Returns an EditText which shows a given text.  getImage(int) //Returns an ImageView with a given index.

③ 拖拽:

drag(float, float, float, float, int) //Simulate touching a given location and dragging it to a new location.

④ 搜索:

searchText(String) //Searches for a text string and returns true if at least one item is found with the expected text.searchEditText(String) //Searches for a text string in the EditText objects located in the current Activity.searchButton(String, boolean) //Searches for a Button with the given text string and returns true if at least one Button is found.
clickOnMenuItem(String);

功能是点击Menu按钮,选择文本描述为String的菜单,如我们的例子是"Add note"

assertCurrentActivity(String message,String name);

这个是判断当前的activity是否和我预期的一致
message是描述性的文字
name是指activity的名字
关于如何知道activity 名字,目前的方法是得看源码中的 AndroidManifest.xml--Application label--Application Nodes,在那里我们可以看到所有的activity的name

enterText(int index,string text);

index用来标识写到哪个EditText中。如果当前只打开一个EditText,那index=0
text:就是我们要写入的内容

goBack();

相当于手机上的 返回键(back key)

goBackToActivity(String name);

返回到指定的activity

searchText(String text)

在当前的activity中搜索是否含有text的内容

clickInListint index);

点击list表的第index行,进入该文本界面

solo.setActivityOrientation(Solo.LANDSCAPE);

setActivityOrientation,设置手机屏幕显示方式
LANDSCAPE:横向显示
Portrait:竖向显示

clickOnText(String text);

点击包含该文字的地方
其中text可以用正则表达式表示
(?i)----忽略大小写。默认情况是大小写敏感的。
正则表达式与java保持一致

clickLongOnText(String text);

长时间按住所选的文字

这里需要注意:被测apk和测试apk必须使用相同的签名。



====================================================以下是回帖精华区==================================================


1、获取Activity名字,可以用adb shell dumpsys activity top | findstr ACTIVITY


2、有一系列的waitfor方法,我觉得对于提高代码的健壮性很有效果




0 0