测试类的编写:

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. 咏南树形下拉列表数据敏感控件--TYNdbTreeList

    咏南树形下拉列表数据敏感控件--TYNdbTreeList 软件系统拥有自己通用的下拉列表控件可以大大地加速系统的开发和易用性. 控件支持DELPHI5及以上版本安装并使用. 控件的用法: proce ...

  2. [leetcode] 13. Remove Duplicates from Sorted List

    这个题目其实不难的,主要是我C++的水平太差了,链表那里绊了好久,但是又不像用python,所以还是强行上了. 题目如下: Given a sorted linked list, delete all ...

  3. ajax 调用示例

    $.ajax({ type: "post", url: url, data: { "key": "ValidateMobile", &quo ...

  4. ArcGIS(批量)删除属性字段

    ArcGIS下删除属性字段有两种方式:① 单个删除:② 批量删除. 单个删除 批量删除 尽管如此,ArcGIS桌面软件在属性字段的编辑上并不太方便,所以我们自己做了一些工具辅助平时的内业处理工作.(* ...

  5. Postgresql 分区表 一

    Postgres 10 新特性 分区表 http://francs3.blog.163.com/blog/static/40576727201742103158135/ Postgres 10 之前分 ...

  6. 三部曲搭建本地nuget服务器(图文版)

    下载Demo: 1.新建web的空项目 2.引入nuget包 3.修改配置文件config(可以默认) 运行效果:

  7. selenium + PhantomJS 爬取js页面

    from selenium import webdriver import time _url="http://xxxxxxxx.com" driver = webdriver.P ...

  8. WPF里面多线程访问UI线程、主线程的控件

    如果出现以下错误:调用线程无法访问此对象,因为另一个线程拥有该对象. 你就碰到多线程访问UI线程.主线程的控件的问题了. 先占位.

  9. 没有xaml的WPF

    出于强迫症,我查了一下文档弄明白了WPF脱离xaml应该怎么搞.当然其实本质是为了MaxScript里使用做准备. using System; using System.Windows; using ...

  10. Android - Telephony API 1.5

    TelephonyManager: 1. public String getDeviceSoftwareVersion() : software version number, ex: IMEI/SV ...