这几天一直在忙着产品上线,没有做更新,最近用 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 必须使用相同的签名。


↙↙↙阅读原文可查看相关链接,并与作者交流