在自动化测试中,UI上经常有一些控件是没有名称的,那么此时,就可以通过id来找到这些控件。

案例:对两个EditText进行测试

  1. package com.tangbc.tedit.test;
  2. import org.junit.After;
  3. import org.junit.Before;
  4. import org.junit.Test;
  5. import android.test.ActivityInstrumentationTestCase2;
  6. import android.view.View;
  7. import android.widget.EditText;
  8. import com.robotium.solo.Solo;
  9. import com.tangbc.tedit.MainActivity;
  10. import com.tangbc.tedit.R;
  11. public class EditTest extends ActivityInstrumentationTestCase2{
  12. private Solo solo;
  13. public EditTest() {
  14. super(MainActivity.class);
  15. }
  16. @Before
  17. public void setUp() throws Exception {
  18. solo = new Solo(getInstrumentation(), getActivity());
  19. }
  20. @After
  21. public void tearDown() throws Exception {
  22. solo.finishOpenedActivities();
  23. }
  24. @Test
  25. public void test() {
  26. EditText enter = (EditText)solo.getView(R.id.enterText);
  27. solo.enterText(enter, "this is enter text");
  28. solo.sleep(2000);
  29. int typeId = solo.getCurrentActivity().getResources().getIdentifier("typeText", "id", "com.tangbc.tedit");
  30. View typeView = solo.getView(typeId);
  31. solo.typeText((EditText)typeView, "this is type text");
  32. solo.sleep(2000);
  33. }
  34. }

【转载:http://blog.csdn.net/tt75281920/article/details/26929549】

Robotium--通过Id寻找控件的更多相关文章

  1. 根据控件Id得到控件

    在做动态获取控件时,时常需要根据Id得到控件,并对该控件进行操作,此时用 /// <summary>        /// 根据控件id得到控件        /// </summa ...

  2. 关于MFC控件删除出现“具有该ID的控件已存在”这样的情况的解决方案,详细,网上都没有这么详细的,我是“深受其害”,所以想将详细的方法分享出去。

    网上关于MFC控件删除出现“具有该ID的控件已存在”这样的情况,在网上找了很多关于这方面的东西,但是都不是很全,也不容易弄明白.现在问我直接通过一个项目和图片的形式和大家一块分享一个这个解决方法(如有 ...

  3. Flex编程注意之直接获取某个组件的对象(this[]用法)通过id获取控件

    有这样一个需求:假如你new了一百次Button,同时这些button的id分别赋值如btn1.id = "button1"; btn2.id = "button2&qu ...

  4. ASP.net 前台页面通过ID获取控件

    asp.net的服务器控件的ID通常只能在服务器端很好的识别,客户端需要通过ClientID获得控件 1.通过js获得   var controlID = "<%=controlID. ...

  5. 使用FindControl("id")查找控件 返回值都是Null的问题

    做了一个通过字符串ID查找页面控件并且给页面控件赋值的功能,过程中遇到了this.FindControl("id")返回值都是Null的问题,记录一下解决办法. 问题的原因是我所要 ...

  6. layout_toLeftOf = “@id/XX” 提示找不到该id的控件

    调布局的时候,需要把一个控件A放在另一个控件B的左边,我的xml布局文件是按照顺序从左到右定义的控件,所以先定义的控件A,然后控件B,在控件A的属性中,定义 android:layout_toLeft ...

  7. JQuery 遍历没有id的控件

    html代码: <tr> <td field="ck" > <div><input type="checkbox" / ...

  8. 在DataList、Repeater的HeaderTemplate和FooterTemplate模板中寻找控件FindControl

    [程序代码] <asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> ...

  9. jquery.validate.js使用id验证控件

    jquery.validate.js默认的是元素的name. 例如:<input name="username" id="username" size=& ...

随机推荐

  1. (转)PHP ob_start() 函数介绍

    php ob_start 与 ob_end_flush() 是 php 的缓冲输出函数. ob_start([string output_callback])- 打开输出缓冲区,所有的输出信息不在直接 ...

  2. Swift - 28 - 内部参数名和外部参数名

    //: Playground - noun: a place where people can play import UIKit // 外部参数的作用是为了让程序员调用代码的时候能清晰的看出所传参数 ...

  3. 简单总结焦点事件、Event事件对象、冒泡事件

    每学习一些新的东西,要学会复习,总结和记录. 今天来简单总结一下学到的几个事件:焦点事件.Event事件对象.冒泡事件 其实这几个事件应该往深的说是挺难的,但今天主要是以一个小菜的角度去尝试理解一些基 ...

  4. 读取url(1

    就书本例子 import java.io.InputStream; import java.net.URL; public class Test { public static void main(S ...

  5. date命令详解与练习

    date : 用来打印或设置系统日期和时间. 它在linux shell编程中经常会用到.比如每天生成随日期变化的档案名,尤其在银行业务中每天都会生成流水文件.eg:datefile=$(date & ...

  6. javascript权威指南学习笔记1

    打开这本书,进入到javascript的世界.以前都是看各种视频,感觉什么收获也没有,反而弄得脑袋混乱,希望能够按照这本书的节奏掌握javascript这门语言,为我的前端学习打下基础. 学习前准备: ...

  7. QT设置标签字体大小和颜色

    ui.label是QLabel ui.label_4->setText("some text"); //设置字号 QFont ft; ft.setPointSize(12); ...

  8. sencha Touch 的 DatePickerField等时间的汉化

    对于datepickerfiled dateFormat 时间格式 Y-m-d w星期几    W 一年第多少周 时间的初始化 mydatefield.setValue( { year:2013, m ...

  9. 2014 青年歌手大赛 AC

    青年歌手大奖赛_评委会打分 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  10. 002-C语言概览

    C语言 关键字: 32个关键字,全是小写 auto double int struct break else long switch case enum register typedef char e ...