获取控件

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的更多相关文章

  1. hive从入门到放弃(四)——分区与分桶

    今天讲讲分区表和分桶表,前面的文章还没看的可以点击链接: hive从入门到放弃(一)--初识hive hive从入门到放弃(二)--DDL数据定义 hive从入门到放弃(三)--DML数据操作 分区 ...

  2. javaservlet处理四种常用api请求get,put,post,delete

    一般在网站搭建中servlet只需处理post,get请求便足已.本篇注重使用javaweb编写restful风格api,在servlet中对四种常用请求进行处理. 在api中对于一个请求要做的通常是 ...

  3. Java基础第四天--常用API

    常用API 基本类型包装类概述 将基本数据类型封装成对象的好处可以在对象中定义更多的功能方法操作该数据 常用的操作之一:用于基本数据类型与字符串之间的转换 基本数据类型 包装类 byte Byte s ...

  4. robotium从入门到放弃 三 基于apk的自动化测试

      1.apk重签名   在做基于APK的自动化测试的过程中,需要确保的一点是,被测试的APK必须跟测试项目具有相同的签名,那怎么做才能确保两者拥有相同的签名呢?下面将给出具体的实现方法. 首先将被测 ...

  5. robotium从入门到放弃 二 第一个实例

    1.导入被测试的源码 我们先下载加你计算器源码,下载地址: https://robotium.googlecode.com/files/AndroidCalculator.zip 如果地址被墙无法现在 ...

  6. robotium从入门到放弃 一 测试开发环境搭建

    1.JDK的安装及环境变量的配置    配置JAVA的运行环境,添加完环境变量后,可以打开Windows命令处理程序窗口,通过执行命令java -version验证环境变量是否添加成功.如果添加成功会 ...

  7. <Jmeter入门不放弃>之<2.常用功能>

    大家这里参考学习的时候,我就不在这里配截图了,因为需要你打开工具根据文档自己去找,才有印象,大家一定要启动JMeter!跟着理解操作 一.测试计划 用来描述一个性能测试,所有内容都是基于这个计划,这谁 ...

  8. MyBatis从入门到放弃四:一对多关联查询

    前言 上篇学习了一对一关联查询,这篇我们学习一对多关联查询.一对多关联查询关键点则依然是配置resultMap,在resultMap中配置collection属性,别忽略了ofType属性. 搭建开发 ...

  9. Linux入门到放弃之三《常用命令(帮助命令,文件压缩和解压,关机、重启,加载光盘...)》

    1.获得命令帮助: man命令的用法: 命令:man find ( 获取find命令的帮助文档 ) 2.复制/root/install.log 到/tmp: ( 确认root目录下是否存在instal ...

随机推荐

  1. C#实现http断点下载

    我们寄希望于万能的解决方案,但是现实的情况总是很糟糕.在软件编程的世界中,技术分散的情况尤为严重,且不说各种语言拥有的优势不能融合,单就一门语言而言,就拥有众多的技术和相关技术需要学习.网络编程就是这 ...

  2. 解决:无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

    1.输入的中划线“-”格式不对,检查是否为全角状态下输入,误输入了下划线“_",或是前后有空格: 2.没有引用EntityFramework命令,请执行如下名称(Import-Module ...

  3. 测试redis+keepalived实现简单的主备切换【转载】

    转自: 测试redis+keepalived实现简单的主备切换 - Try My Best 尽力而为 - ITeye技术网站http://raising.iteye.com/blog/2311757 ...

  4. 고 보니: 做完A发现新的事实B

    1. 선생님 얘기를 듣고 보니 이제 이해가 되네요. 2. 막상 옷을 입고 보니 꽤 잘 어우리는 것 같았다. 不能用于过去式 다 보니和 고 보니区别 다 보니: 表示在做某事过程中发现某状 ...

  5. webView进度条

    self.progress = [[NJKWebViewProgress alloc] init]; self.webView.delegate = self.progress; __weak typ ...

  6. 重点block

    //  main.m //  block探索 // //  Created by 殷婷婷 on 15-6-6. //  Copyright (c) 2015年 lanou. All rights re ...

  7. HDU 2188 悼念512汶川大地震遇难同胞——选拔志愿者(基础巴什博奕)

    最最最基础巴什博奕 #include<stdio.h> #include<iostream> #include<cstring> #include<cmath ...

  8. Apache不能启动解决办法

    这是我这两天频繁遇到的问题.Apache服务器还真是问题少年!任何点改动都可能导致它无法使用. 原因一:80端口占用例如IIS,另外就是迅雷.我的apache服务器就是被迅雷害得无法启用! 原因二:软 ...

  9. 谈谈java的BlockingQueue

    http://www.cnblogs.com/archy_yu/archive/2013/04/19/3018479.html 博客园 首页 新随笔 联系 管理 随笔- 92  文章- 0  评论- ...

  10. C语言写的俄罗斯方块

    源:C语言写的俄罗斯方块 2014年最后一天, 任天堂将风靡全球30年的经典游戏<<俄罗斯方块>>下架. 作为全球最畅销的游戏, 其移植版本遍布各个平台. 下面这个是我去年在5 ...