测试类的编写:

package com.m1905.dd.mobile;
import com.robotium.solo.By;
import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
public class testdd extends ActivityInstrumentationTestCase2 { private Solo solo;
private static String mainActivity = "com.m1905.dd.mobile.act.StartAct";
private static String PackName = "com.m1905.dd.mobile";
private static Class<?> launchActivityClass;
static{
try{
launchActivityClass = Class.forName(mainActivity);
}catch(ClassNotFoundException e){
throw new RuntimeException(e);
}
} @SuppressWarnings("unchecked")
public testdd() {
super(launchActivityClass);
// TODO Auto-generated constructor stub
} @Override
public void setUp() throws Exception {
super.setUp();
solo = new Solo(getInstrumentation(),getActivity());
} @Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
} public void testGetHaoYou() throws Exception{
//登陆页面后首先完成登陆的操作
solo.clickOnView(solo.getView("rbnMine"));
solo.clickOnImage(0);
Thread.sleep(2000);
solo.clearEditText(0);
solo.enterText((android.widget.EditText) solo.getView("edtUname"), "sylovezp");
solo.enterText((android.widget.EditText) solo.getView("edtUpass"),"qqqqqq");
Thread.sleep(1000);
solo.clickOnButton("登录");
//进入活动页面
solo.clickOnView(solo.getView("rbnActivities")); //切换我的活动/热门活动/正在点评/已结束活动
solo.clickOnButton(0);
solo.clickOnText("我的活动");
solo.scrollDown();
solo.clickOnButton(0);
solo.clickOnText("正在点评");
solo.scrollDown();
solo.clickOnButton(0);
solo.clickOnText("已结束");
solo.scrollDown();
solo.clickOnButton(0);
solo.clickOnText("热门活动");
Thread.sleep(2000);
//进入热门活动第一条中的活动详情页
solo.clickOnImage(0);
//切换活动规则/关于影片/他们报名啦页面
solo.clickOnButton("关于影片");
//观看视频
solo.clickOnView(solo.getView("btnActPlay"));
Thread.sleep(3000);
solo.clickOnView(solo.getView("btnBack"));
//报名参加,看看是否正确记录手机号
solo.clickOnText("我要报名");
solo.clickOnView(solo.getView("btnNext"));
solo.clickOnView(solo.getView("btnBack")); //退出活动详情页
solo.clickOnView(solo.getView("btnBack"));
//以下执行一个简单的登陆/退出的操作 //findElementById("rbnMine").doClick();//athrun
solo.clickOnView(solo.getView("rbnMine"));//当一个页面文本名称出现多个时,就不能用text了,此时可以用这个方法
Thread.sleep(1000);
solo.clickOnText("系统设置");
Thread.sleep(1000);
solo.clickOnButton("退出登录");
Thread.sleep(1000); } }

配置文件的配置:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.m1905.dd.mobile.test"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk android:minSdkVersion="17" /> <instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.m1905.dd.mobile" /> <application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<uses-library android:name="android.test.runner" />
</application> </manifest>

之前为dd写的一个小的demo(robotium)的更多相关文章

  1. canvas写的一个小时钟demo

    <!DOCTYPE html> <html> <head> <title>HTML5 Canvas Demo of clock</title> ...

  2. 1.类的加载机制_继承类的加载(一个小的Demo)说明

    今天我们先来一个小的Demo来了解类的加载顺序. public class ClassLoaderTest { public static void main(String[] args) { Sys ...

  3. 用bat写的一个小病毒

    最近看了一点bat的知识,具体说是看了一个博客:http://blog.csdn.net/qsyzb/article/details/17364581 用了三天才看完=.=,感觉作者整理整理可以把博客 ...

  4. 原生JS写了一个小demo,根据输入的数字生成不同背景颜色的小方块儿~

    昨天练习写了这个小demo,个人觉得通过设置定位元素left和top的值,来实现换行的功能,这种方法很巧妙~ 另外,如下代码中的随机颜色的获取,还请各位前辈多多指教:需要改进的地方:或者有没有更好的方 ...

  5. QT写的一个小工具:阿里云MQTT连接参数生成器.

    一.工具介绍. 最近在研究MQTT协议联网的一些问题,现在主流的物联网平台都支持MQTT协议. 在做阿里云平台连接测试的时候,连接参数的生成没有好用的工具, 所以就自己写了一个. 这个工具主要用于阿里 ...

  6. js 利用throw 写的一个小程序

    在下边的小程序中比较特殊的是使用isNaN()函数判断一个参数是不是数字, <!DOCTYPE html> <!DOCTYPE html> <html> <h ...

  7. [原创]基于html5新标签canvas写的一个小画板

    最近刚学了canvas,写个小应用练习下 源代码 <!DOCTYPE> <html> <head> <meta http-equiv="Conten ...

  8. python3 自己写的一个小算法(比对中文文本相似度)

    函数使用说明: 函数的三个参数分别是“匹配语句”,“匹配语料”,“相关度”: 匹配语句,和匹配预料中的语句匹配的语句,必须为字符串: 匹配语料,被匹配语句来匹配的语句列表,必须为列表: 相关度,函数只 ...

  9. 关于H标签 DL DT DD标签的一个小故事

    看了一篇关于SEO论坛的论文,大概故事内容是:一个专业的销售公司,里面SEO  技术多多,可就是销售网站的SEO的情况极为恼火.这天,老板又招到了一个SEO,直接聘为SEO主管全权负责网站的SEO,并 ...

随机推荐

  1. linux网络管理员

    1. 查看当前开启的所有网络服务 命令:netstat -a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别 ...

  2. python + selenium + Js 处理轮动条

    selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候需要借 ...

  3. C++中break/Continue,exit/return的理解

    刚才遇到了一个问题,大概是这样的. func1执行完成,进入func1Complete,其中switch处理func1返回的数据,如果返回数据是clear则重新执行func1. 测试的时候发现func ...

  4. Javascript的事件模型和Promise实现

    1. Javascript的运行时模型——事件循环 JS的运行时是个单线程的运行时,它不像其他编程语言,比如C++,Java,C#这些可以进行多线程操作的语言.当它执行一个函数时,它只会一条路走到黑, ...

  5. nginx 内置参数

    $args #这个变量等于请求行中的参数.$content_length #请求头中的Content-length字段.$content_type #请求头中的Content-Type字段.$docu ...

  6. Caffe任务池GPU模型图像识别

    一开始我在网上找demo没有找到,在群里寻求帮助也没有得到结果,索性将网上的易语言模块反编译之后,提取出对应的dll以及代码,然后对照官方的c++代码,写出了下面的c#版本 /*** * @pName ...

  7. cesium编程入门(五)绘制形状

    通过Entity添加形状 先来看一个添加立方体的例子 var viewer = new Cesium.Viewer('cesiumContainer'); var redBox = **viewer. ...

  8. WP8.1StoreApp(WP8.1RT)---SystemTray的变化

    原Microsoft.Phone.Shell中的SystemTray,已经改到Windows.UI.ViewManagement中StatusBar了. 只能在代码中设置相关属性. 如: 1 2 3 ...

  9. AngularJS 常用语法

    面板收缩(class=collapsed)与扩展(class=expand) <div ng-init="expand=false" data-ng-class=" ...

  10. asp.net mvc全局异常捕获

    通过重写OnException方法形式实现. 1.自定义异常记录类并继承HandleErrorAttribute类. public class HandlerErrorAttribute : Hand ...