在自动化测试中,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. 更改tabBarItem图片的问题

    代码: UIImage *normal = [[UIImage imageNamed:@"tabbar_home_default"] imageWithRenderingMode: ...

  2. /root/.bashrc与/etc/profile的异同

    要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是loginshell 和non-loginshell. 交互式模式就是shell等待你的输入,并 ...

  3. hibernate_validator_05

    校验约束 一,认识Validator---Validation中最主要的接口 1.怎么获取一个Validator--Validation.buildDefaultValidatorFactory() ...

  4. ext中嵌入flash

    方法1: xtype: 'fieldset', border: 0, title: "", items[{ xtype: 'flash', url: 'Test.swf' }] u ...

  5. jquery ajax (1)原始js 实现

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. django+nginx+supervisor+gunicorn+gevent 网站部署

    django+nginx+supervisor+gunicorn+gevent 网站部署 django,nginx,supervisor,gunicorn,gevent这几个都是在本领域大名鼎鼎的软件 ...

  7. 随机数是骗人的,.Net、Java、C为我作证(转载)

      几乎所有编程语言中都提供了"生成一个随机数"的方法,也就是调用这个方法会生成一个数,我们事先也不知道它生成什么数.比如在.Net中编写下面的代码: Random rand = ...

  8. UVA 1600 Patrol Robot(机器人穿越障碍最短路线BFS)

    UVA 1600 Patrol Robot   Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu   ...

  9. JS简易时钟

    HTML <div id="clock"> <span></span>:<span></span>:<span&g ...

  10. Swift互用性:与 C的API交互(Swift 2.0版)-b

    节包含内容: 基本数据类型(Primitive Types) 枚举(Enumerations) 指针(Pointer) 全局常量(Global Constants) 预处理指令(Preprocesso ...