首页 > 代码库 > Robotium 测试方法

Robotium 测试方法

1.检查CheckBox 是否选上,用solo.isCheckBoxChecked( “text” )。

  有时候checkBox 没有相关的text,这时要用solo.isCheckBoxChecked(index) 。 
2. 如果页面上相同的string有多个,可以用index来区分。

  如solo.clickOnText(text,index),第一次匹配index=1,第N次匹配index=n。
3.发送sendkey命令时,用sendKeys (String keysSequence)可以指定发送动作重复的次数,唯一需要注意的就是这里面KeysSequence不用想普通命令时写上 KeyEvent.KEYCODE_这些,直接写sendKeys(i*KEYEVENT),比如sendKeys(256*DEL)就是重复256次删除动作

4. InstrumentationTestCase可以用来模拟触摸屏和按键的处理,为了避免误操作,在测需要触摸和按键的case前最好关闭模拟器或设备的触摸功能:setActivityInitialTouchMode(false);

5. 触摸和按键可以通过TouchUtils.clickView(this, button/view);来实现

6、断言  assert:

 assertEquals(“string”,expect,actual):判断实际值与期待值是否相等,相等判定为真,否则为false,并报错string。

8.EditText 处理

用solo.enterText(0,"text"), 有时会发生无法输入string的现象。

 1 EditText fNameInputField = solo.getEditTextWithHint("string") 2  3 assertNotNull (“string of error hint”,fNameInputField); 4  5 solo.enterText (fNameInputField, "your string") 6  7 //getEditTextWithHint的函数定义: 8  9  for (EdutText view :getCurrentEditText())10 11 {    12     CharSequence target=view.getHint();13 14     Pattern pattern=Pattern.compile(hintRegex);15 16     Matcher matcher=pattern.matcher(target);17 18     if (matcher.find())19 20     {21         return view;22     }23 }24     

 

10.View 处理:

ArrayList<View> viewList =getCurrentViews();

index=viewList.indexOf(view);//当前view对应的index

如果要得到其他View  viewList.get(index+othernumber)

 

11.instrumentation 对key的处理  private instrumentation instru;instru.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK)

solo实例的创建方法 helloinstrumentation=getInstrumentation   solo =new Solo(helloinstrumentation)

12.屏幕上拉至顶    

1 ArrayList<Listview> listviews =solo.getCurrentListViews(); 2 if (listviews.size()>0)  {3 4     TouchUtils.scrollToTop(this,getActivity,listviews.get(0));5 }6 assertFalse (solo.searchText(subject));

13.点击下拉框

1 ArrayList<Spinner> spinner=solo.getCurrentSpinners();2 solo.clickOnView(spinners.get(index));

 

Robotium 测试方法