robotium学习笔记

来源:互联网 发布:软件产业基地5e 编辑:程序博客网 时间:2024/05/20 19:46

1、刚开始自学android自动化,感觉不知道如何入手,首先学习一下已有的范例
robotium noteslist测试范例源码下载:https://code.google.com/p/robotium/wiki//p/robotium/wiki/Downloads?tm=2?tm=2
 
2、robotium的使用:
(1)、包名:com.jayway.android.robotium.solo
(2)、构造器
Solo(android.app.Instrumentation instrumentation) 
Solo(android.app.Instrumentation instrumentation, android.app.Activity activity) 
//该方法初始化solo,绑定对应的Activity
//solo = new Solo(getInstrumentation(), getActivity())
(3)、方法
(3.1) assert
void assertCurrentActivity(String message, Class expectedClass) 
//这个是判断当前的activity是否和预期的一致,
 //参数:message 如果当前的activity不是期望的activity 则输出message
 //name 期望的activity
void assertCurrentActivity(String message, Class expectedClass, boolean isNewInstance)
//isNewInstance:true 如果预期 activity 是一个新的 activ 实例
assertCurrentActivity(java.lang.String message, java.lang.String name)
// 参数:message是描述性的文字、name是指activity的名字,例如 “MyActivity"
//如何知道activity 名字,目前的方法是得看源码中的 AndroidManifest.xml--Application label--Application Nodes,在那里我们可以看到所有的activity的name
 android.app.Instrumentation.ActivityMonitor getActivityMonitor() 
//返回 Robotium 使用的 activity 监视器
 ArrayList<android.app.Activity> getAllOpenedActivities() 
  //返回一个 arrayList 包括所有 open 和 活动的 activity 
(3.2 )clear
void clearEditText(android.widget.EditText editText) 
 //清除 editText 的值
void clearEditText(int index) 
 //清除 editText 的值
(3.3) click
List:
ArrayList<android.widget.TextView> clickInList(int line) 
 // 点击list表的第index行,进入该文本界面 
//返回值 ArraryList 返回可编辑的文本界面,并将这一条目移到列表中的第一条
ArrayList<android.widget.TextView> clickInList(int line, int index) 
ArrayList<android.widget.TextView> clickLongInList(int line) 
 ArrayList<android.widget.TextView> clickLongInList(int line, int index) 
 ArrayList<android.widget.TextView> clickLongInList(int line, int index, int time)
//参数 Time:长按的时间量
 
Screen:
void clickLongOnScreen(float x, float y) 
//长按屏幕某个坐标点
 void clickLongOnScreen(float x, float y, int time) 
void clickOnScreen(float x, float y) 
Text:
void clickOnText(String text) 
 //点击包含该文字的地方,text可以用正则表达式表示(.*,.+,.?) ,(?i)表示忽略大小写。默认情况是大小写敏感的。正则表达式与java保持一致 
 void clickOnText(String text, int match) 
 void clickOnText(String text, int match, boolean scroll)     
 void clickLongOnText(String text) 
 void clickLongOnText(String text, int match) 
 void clickLongOnText(String text, int match, boolean scroll) 
//长按一个 Text。需要时会自动滚动。 
//Scroll:true 如果可滚动
//Match:匹配
 void clickLongOnText(String text, int match, int time) 
//Time:长按的时间 
 void clickLongOnTextAndPress(String text, int index) 
 //长按后从 list 中选择一个项目
View:
void clickOnView(android.view.View view) 
  //点击View
 void clickLongOnView(android.view.View view) 
  // 长按View
 void clickLongOnView(android.view.View view, int time) 
Botton:
 void clickOnButton(int index) 
 //点击一个按钮   
 void clickOnButton(String name) 
CheckBox:
 void clickOnCheckBox(int index) 
  //点击复选框        Clicks on a CheckBox with a given index. 
EditText:
 void clickOnEditText(int index) 
 //点击输入框
Image:
 void clickOnImage(int index) 
  //点击图片
ImageButton:
 void clickOnImageButton(int index) 
//点击图标
MenuItem:
 void clickOnMenuItem(String text) 
  //功能是点击Menu按钮,选择文本描述为String的菜单
 void clickOnMenuItem(String text, boolean subMenu) 
 //   参数 subMenu:子菜单,如果可以设置在子菜单中
RadioButton:
 void clickOnRadioButton(int index) 
//点击单选框 
ToggleButton:
 void clickOnToggleButton(String name) 
View:
 void clickOnView(android.view.View view) 
          Clicks on a given View. 
(3.4)drag
 void drag(float fromX, float toX, float fromY, float toY, int stepCount) 
//模拟从一个位置拖拽到另一个位置
//stepCount:步骤数
(3.5)enter
void enterText(int index, String text) 
//index用来标识写到哪个EditText中。如果当前只打开一个EditText,那index=0
 void enterText(android.widget.EditText editText, String text) 
(3.6)控制流
void assertMemoryNotLow() 
 //判断系统内存不低. 
 void finalize() 
Finalizes the solo object and removes the ActivityMonitor. 
 void finishOpenedActivities() 
 //关闭所有启动的activity
void goBack() 
 //相当于手机上的 返回键(back key)
 void goBackToActivity(String name) 
  //返回到指定的activity
  //参数:name 想返回到的Activity
  //boolean expected = true;
void unlockScreen();
takeScreenshot();
//获取当前测试页面的图像,图像存放位置可以在Solo.Config中进行定义
(3.7)get
 android.widget.Button getButton(int index) 
  //根据索引返回按钮值
 android.widget.Button getButton(String text) 
android.widget.Button getButton(String text, boolean onlyVisible) 
//参数 onlyVisible:true 如果可见
 android.app.Activity getCurrentActivity() 
 //返回当前 activity 
 ArrayList<android.widget.Button> getCurrentButtons() 
  //返回 button 的 list
 ArrayList<android.widget.CheckBox> getCurrentCheckBoxes() 
  //返回复选框的 list
 ArrayList<android.widget.DatePicker> getCurrentDatePickers() 
   //返回日期选择器的 list
 ArrayList<android.widget.EditText> getCurrentEditTexts() 
//返回日期选择器的 listReturns an ArrayList of the EditText objects currently shown in the focused Activity or Dialog.
 ArrayList<android.widget.GridView> getCurrentGridViews() 
   //网格视图
 ArrayList<android.widget.ImageButton> getCurrentImageButtons() 
          Returns an ArrayList of the ImageButton objects currently shown in the focused Activity or Dialog.
 ArrayList<android.widget.ImageView> getCurrentImageViews() 
          Returns an ArrayList of the ImageView objects currently shown in the focused Activity or Dialog.
 ArrayList<android.widget.ListView> getCurrentListViews() 
          Returns an ArrayList of the ListView objects currently shown in the focused Activity or Dialog
 ArrayList<android.widget.ProgressBar> getCurrentProgressBars() 
   //进度条.
ArrayList<android.widget.RadioButton> getCurrentRadioButtons() 
  //单选按钮
 ArrayList<android.widget.ScrollView> getCurrentScrollViews() 
   //滚动条
 ArrayList<android.widget.SlidingDrawer> getCurrentSlidingDrawers() 
    //滑动控件
 ArrayList<android.widget.Spinner> getCurrentSpinners() 
//下拉菜单
 ArrayList<android.widget.TextView> getCurrentTextViews(android.view.View parent)
          Returns an ArrayList of the TextView objects currently shown in the focused Activity or Dialog.
 ArrayList<android.widget.TimePicker> getCurrentTimePickers() 
    //时间选择器
 ArrayList<android.widget.ToggleButton> getCurrentToggleButtons() 
   //切换按钮       Returns an ArrayList of the ToggleButton objects currently shown in the focused Activity or Dialog.
 ArrayList<android.view.View> getCurrentViews() 
          Returns an ArrayList of the View objects currently shown in the focused Activity or Dialog.
 android.widget.EditText getEditText(int index) 
          Returns an EditText with a given index. 
 android.widget.EditText getEditText(String text) 
          Returns an EditText which shows a given text. 
 android.widget.EditText getEditText(String text, boolean onlyVisible) 
          Returns an EditText which shows a given text. 
 android.widget.ImageView getImage(int index) 
          Returns an ImageView with a given index.
 android.widget.ImageButton getImageButton(int index) 
          Returns an ImageButton with a given index. 
 String getString(int resId) 
      //参数 resId:string 的资源编号    Returns a localized string. 
 android.widget.TextView getText(int index) 
          Returns a TextView with a given index.
 android.widget.TextView getText(String text) 
          Returns a TextView which shows a given text. 
 android.widget.TextView getText(String text, boolean onlyVisible) 
          Returns a TextView which shows a given text. 
 android.view.View getTopParent(android.view.View view) 
          Returns the absolute top parent View for a given View. 
 android.view.View getView(int id) 
          Returns a View with a given id. 
 ArrayList<android.view.View> getViews() 
          Returns an ArrayList of all the View objects located in the focused Activity or Dialog.
 ArrayList<android.view.View> getViews(android.view.View parent) 
          Returns an ArrayList of the View objects contained in the parent View. 
 (3.8) is
 boolean isCheckBoxChecked(int index) 
 //检查复选框是否被选中  
 boolean isCheckBoxChecked(String text) 
 boolean isRadioButtonChecked(int index) 
  //检查单选框是否被选中  
 boolean isRadioButtonChecked(String text) 
 boolean isSpinnerTextSelected(int index, String text) 
  //坚持下拉文本是否被选中
 boolean isSpinnerTextSelected(String text) 
 boolean isTextChecked(String text) 
 //检查是否文本框被选择
 boolean isToggleButtonChecked(int index) 
 //检查 ToggleButton是否被选中 
 boolean isToggleButtonChecked(String text) 
(3.8) press
 void pressMenuItem(int index) 
 //按下菜单项  
 void pressMenuItem(int index, int itemsPerRow) 
 //参数 itemsPerRow:每行的 item 数量  
 void pressSpinnerItem(int spinnerIndex, int itemIndex) 
 //参数 itemIndex:正数代表向下,负数代表向上  
(3.9) scroll
 boolean scrollDown() 
//向下滚屏
 boolean scrollDownList(int index) 
 //向下滚动列表到一个指定的索引   
 void scrollToSide(int side) 
//水平滚动 
//参数 side: RIGHT or LEFT(他们是 public static final int LEFT)    
 boolean scrollUp() 
 //向上滚屏
 boolean scrollUpList(int index) 
   //向上滚动列表到一个指定的索引   
(3.10) search
 boolean searchButton(String text) 
 //在当前的activity中搜索按键
 boolean searchButton(String text, boolean onlyVisible) 
 boolean searchButton(String text, int minimumNumberOfMatches) 
 boolean searchButton(String text, int minimumNumberOfMatches, boolean onlyVisible)
  //参数: minimumNumberOfMatches:被发现的最小数量,0 表示 n 个 
 boolean searchEditText(String text) 
 //在当前的activity中搜索是否含有EditText的内容 
 boolean searchText(String text) 
 //在当前activity中查找 text,界面中只要找到一项与text相同的String,return true. 
  //参数: text期望找到的String
  //返回值:找到 return true 找不到 return false
 boolean searchText(String text, boolean onlyVisible) 
          Searches for a text string and returns true if at least one item is found with the expected text.
 boolean searchText(String text, int minimumNumberOfMatches) 
          Searches for a text string and returns true if the searched text is found a given number of times.
 boolean searchText(String text, int minimumNumberOfMatches, boolean scroll) 
          Searches for a text string and returns true if the searched text is found a given number of times.
 boolean searchText(String text, int minimumNumberOfMatches, boolean scroll, boolean onlyVisible)
          Searches for a text string and returns true if the searched text is found a given number of times.
 boolean searchToggleButton(String text) 
          Searches for a ToggleButton with the given text string and returns true if at least one ToggleButton is found.
 boolean searchToggleButton(String text, int minimumNumberOfMatches) 
          Searches for a ToggleButton with the given text string and returns true if the searched ToggleButton is found a given number of times.
(3.11) send
 void sendKey(int key) 
        //传送一个键:Right, Left, Up, Down, Enter, Menu or Delete 
(3.12) set
 void setActivityOrientation(int orientation) 
//设置屏幕方向:Solo.LANDSCAPE or Solo.PORTRAIT
 void setDatePicker(android.widget.DatePicker datePicker, int year, int monthOfYear, int dayOfMonth)
 //设置日期     
 void setDatePicker(int index, int year, int monthOfYear, int dayOfMonth)  
 void setProgressBar(int index, int progress) 
  //设置进度条
 void setProgressBar(android.widget.ProgressBar progressBar, int progress) 
 void setSlidingDrawer(int index, int status) 
    //设置一个滑动模块的状态    
 void setSlidingDrawer(android.widget.SlidingDrawer slidingDrawer, int status) 
 void setTimePicker(int index, int hour, int minute) 
  //设置时间
 void setTimePicker(android.widget.TimePicker timePicker, int hour, int minute) 
(3.13) sleep
 void sleep(int time) 
//单位毫秒
(3.14)wait
 boolean waitForActivity(String name) 
   //等待一个Activity   
 boolean waitForActivity(String name, int timeout) 
 boolean waitForDialogToClose(long timeout) 
  //等待一个对话框关闭   
 boolean waitForText(String text) 
//等待一个text出现
 boolean waitForText(String text, int minimumNumberOfMatches, long timeout) 
 boolean waitForText(String text, int minimumNumberOfMatches, long timeout, boolean scroll)
 boolean waitForText(String text, int minimumNumberOfMatches, long timeout, boolean scroll, boolean onlyVisible)
<T extends android.view.View>
 boolean  waitForView(Class<T> viewClass) 
  //等待view出现
<T extends android.view.View> 
boolean  waitForView(Class<T> viewClass, int minimumNumberOfMatches, int timeout)
<T extends android.view.View> 
boolean  waitForView(Class<T> viewClass, int minimumNumberOfMatches, int timeout, boolean scroll)
<T extends android.view.View> 
boolean  waitForView(android.view.View view) 
<T extends android.view.View> 
boolean  waitForView(android.view.View view, int timeout, boolean scroll) 
 
(4)常量

public static final int CLOSED0public static final intDELETE67public static final intDOWN20public static final intENTER66public static final intLANDSCAPE0public static final intLEFT21public static final intMENU82public static final intOPENED1public static final intPORTRAIT1public static final intRIGHT22public static final intUP9
1 0