读书人

Robotium 第三天: 应用TestSuite

发布时间: 2012-06-28 15:20:03 作者: rapoo

Robotium 第三天: 使用TestSuite

使用junit TestSuite可以用例管理我们测试脚本的执行 ?

?

在第二天的基础上在新建一个测试脚本 如下:

?

?

package com.mitalk.test;

?

import android.app.Activity;

import android.test.ActivityInstrumentationTestCase2;

?

import com.jayway.android.robotium.solo.Solo;

?

@SuppressWarnings("rawtypes")

public class LoginTest2 extends ActivityInstrumentationTestCase2 {

public Solo solo;

public Activity activity;

private static Class<?> launchActivityClass;

//对应re-sign.jar生成出来的信息框里的两个值

private static String mainActiviy = "com.xiaomi.channel.ui.ChannelLauncherActivity";

private static String packageName = "com.xiaomi.channel";

?

static {

try {

launchActivityClass = Class

.forName(mainActiviy);

} catch (ClassNotFoundException e) {

throw new RuntimeException(e);

}

}

?

@SuppressWarnings("unchecked")

public LoginTest2() {

super(packageName, launchActivityClass);

}

?

@Override

protected void setUp() throws Exception {

super.setUp();

this.activity = this.getActivity();

this.solo = new Solo(getInstrumentation(), getActivity());

}

?

public void testLoginWithEmptyUsernameAndPassword() {

solo.waitForText("Login", 1, 8000);

solo.clickOnText("Login");

solo.waitForText("OK", 1, 2000);

solo.clickOnText("OK");

assertTrue(solo.searchText("Info is missing.",true));

}

@Override

public void tearDown() throws Exception {

try {

this.solo.finishOpenedActivities();

} catch (Throwable e) {

e.printStackTrace();

}

this.activity.finish();

super.tearDown();

}

?

}

?

然后新建一个TestSuit类,配置使其可以跑这两个cases

?

?

package com.mitalk.testsuit;

import junit.framework.Test;

import junit.framework.TestSuite;

?

import com.mitalk.test.LoginTest;

import com.mitalk.test.LoginTest2;

?

public class MyTestSuit {

?

?public static Test suite() {?

? ? ? ? ? TestSuite suite = new TestSuite("Sample Tests");?

? ? ? ? ? suite.addTestSuite(LoginTest.class);?

? ? ? ? ? suite.addTestSuite(LoginTest2.class);

?

? ? ? ? ? /* 逐一添加test suite(注意,这是递归调用的) */?

// ? ? ? ? ?suite.addTest(AnotherTestSuite.suite());?

?

? ? ? ? ? return suite;?

? }?

?

? public static void main(String args[]) {?

? ? ? ? ? junit.textui.TestRunner.run(suite());?

? }?

?

}



?

读书人网 >开源软件

热点推荐