这几天一直在忙着产品上线,没有做更新,最近用 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 的内容
clickInList(int index);
点击 list 表的第 index 行,进入该文本界面
solo.setActivityOrientation(Solo.LANDSCAPE);
setActivityOrientation,设置手机屏幕显示方式
LANDSCAPE:横向显示
Portrait:竖向显示
clickOnText(String text);
点击包含该文字的地方
其中 text 可以用正则表达式表示
(?i)----忽略大小写。默认情况是大小写敏感的。
正则表达式与 java 保持一致
clickLongOnText(String text);
长时间按住所选的文字
这里需要注意:被测 apk 和测试 apk 必须使用相同的签名。