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

摘要:
获取控件getText()getEditText()Get按钮()getImage()getImageButton()getEdit文本()getView()getWebElement()getWebUrl()getCurretViews()单击操作控件clickButton()以通过索引或文本标识控件clickOnView()。首先获取控件,然后单击“打开视图”

 

获取控件

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

免责声明:文章转载自《robotium从入门到放弃 四 Robotium常用API》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Deepin Linux下安装安卓应用的各种方式jsTree通过AJAX从后台获取数据下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python assert使用说明

self.assertEqual(a,b,msg=msg)   #判断a与1.b是否一致,msg类似备注,可以为空 self.assertNotEqual(a,b,msg=msg)  #判断a与b是否不一致 self.assertTrue(a,msg=none)    #判断a是否为True self.assertFalse(b,msg=none)   #...

CentOS7 安装 OpenCV 的一些问题解决办法

  由于强迫症,实在受不了root权限的旧gcc才能使用boost而普通权限却是最新版gcc,经过一番折腾后,终于把配置全部弄好了,实际上就只需要把新版gcc的各个文件放到系统找到旧gcc的地方,并建立新版的gcc、g++的软链接就可以覆盖系统旧版的了,然后再重新编译boost即可。   弄好之后,我又开始折腾安装OpenCV了,可能由于最新版的gcc做了...

C++ 断言

assert宏 (基本概念与用法整理) assert宏的深入学习 1、运行时断言 1.1、assert属于运行时断言,可以在运行时判断给定条件是否为真,如果为真则什么也不做,否则打印一跳错误信息,然后通过abort来终止程。当程序开发阶段,我们可以在debug模式下加入大量的运行时断言,来提高我们程序的健壮性,并且提高开发速度。但是当程序需要发布的时候,大...

1.assert

本文大部分内容和 Node.js v8.9.0 文档内容相同,小部分加入了自己的理解和函数实例,是理解、重写而不是抄袭。 assert 模块提供了断言测试的函数,用于测试。一般测试模块都是对这个模块的封装。 此模块中只有函数,没有类。 如果测试失败,会抛出 AssertionError 类型的异常。 assert(value[, message]) ass...

吴恩达老师深度学习课程第四周编程作业--一步步搭建多层神经网络以及应用

本文是吴恩达老师深度学习第四周的编程作业,我是参考的文章https://blog.csdn.net/u013733326/article/details/79767169完成的。 首先还是作业要求,此次的作业要求还是和第二周作业要求一样,搭建一个神经网络来识别图片是否是猫。只不过本次作业要求搭建两个网络,一个是两层的,一个是多层的,多层的网络层数可以自定。...

STM32中assert_param的使用

在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义;在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给出的参...