您的位置:首页 > 博客中心 > 电脑问题 >

robotium从入门到放弃 四 Robotium常用API

时间:2022-03-17 23:23

 

获取控件

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);

本类排行

今日推荐

热门手游