robotium从入门到放弃 四 Robotium常用API
获取控件
getText()
getEditText()
getButton()
getImage()
getImageButton()
getEditText()
getView()
getWebElement()
getWebUrl()
getCurretViews()
点击操作控件
clickButton()可以通过index或者text识别控件
clickOnView()首先获取控件然后通过clickOnView实现点击控件
clickOnScreen(float x, float y, int numberOfClicks) 点击指定的坐标
clickLongOnScreen(float x, float y, int time) 指定的坐标长按
滑屏操作
Solo.scrollToSide(KeyEvent.KEYCODE_DPAD_RIGHT);向右滑屏
Drag(float fromx, float toX, float fromy,float toY, int stepCount)拖动,step越少移动越快
跳转
goBack()
goBackToActivity("Activity名");跳转到指定的Activity
点击按键
按控件属性右下角的index定位,在遍历整个子对象时通常采用方式,先定位到父对象,再用这种方式取子对象
solo.clickOnButton(0);
如果按键上有文字属性
solo.clickOnButton("查询");
如果按键上的文字是图片展现出来的,系统中只有id属性时需要自行封装方法,solo类没有现成方法通过控件id操作案件,可以用以下方式操作有id的按键
solo.clickOnView(solo.getView("控件的ID"));
对编辑框进行输入
通过id定位到输入框元素
EditTextedittext=solo.getView(id);
对已定位到的控件输入text
solo.enterText(edittext, text);
获取控件文本属性
toString().trim() 是将获取的名字先转成字符,如果前后有空格,自动去掉空格
solo.getView("id").getClass().toString().trim();
长按控件
依据控件的text定位,并执行长按操作
solo.clickLongOnText(text);
依据控件中的text定位,且同一界面有多个相同的text时采用以下方式,其中match为int型,代表寻找第几个text
solo.clickLongOnText(text,match);
有时某个空间在当前屏幕找不到,需要滚动屏幕时采用以下方式,其中scroll为boolean型,为True时在找不到控件时会 自动滚动
solo.clickLongOnText(text, match, scroll);
菜单操作
点击某个菜单
solo.clickOnMenuItem(text);
下拉列表操作(Android称为Spinner控件)
依据text值选择所要的项
solo.isSpinnerTextSelected(text);
拖动控件
fromX, toX, x轴从某个点拖动到某个点
fromY, toY, Y轴从某个点拖动到某个点
solo.drag(fromX, toX, toY, stepCount);
solo.clickOnScreen(x, y);
solo.scrollDown() 向下拖动屏幕
solo.scrollToBottom() 滚动到屏幕底部
solo.scrollUp() 向上滚动屏幕
solo.scrollToTop() 滚动到屏幕顶部
断言方法
用于验证当前Activity 名称是否正确
solo.assertCurrentActivity(message, activityClass)
验证内存值的信息
solo.asserMemoryNotLow();
由于测试中引用了junit包,所以同城还可以用junit断言方法,验证语气结果与实际结果是否相符
Assert.assertEquals(expected, actual);
condtion得到是一个Boolean如果condition得到的是True用例通过
Assert.assertTrue(condition);
如果condition得到的是false 用例通过
Assert.assertFalse(condition);
对象非空判断
Assert.assertNotNull(object);
AssertasserNull(object);
对象与对象之间的比对
Assert.assertSame(expected, actual);