-
环境搭建
- 安装jdk,配置环境变量。
- 下载安装Android SDK,并更新
- 下载Eclipse,并安装
-
操作步骤
- 使用工具re-sign.jar对APK重签名,在命令行里,输入>java -jar 路径\re-sign.jar,将apk拖入就ok,记住packagename和mainActivity
- 打开Eclipse,新建一个Android Test Project
创建项目
选择An existing Android project
- 修改manifest.xml文件,
<span style="color:#444444;"><?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" </span> <span style="background-color: rgb(255, 255, 204);"> </span><span style="background-color: rgb(255, 255, 51);"> package="com.mobile.test"</span><span style="color:#444444;"> android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" /> <instrumentation </span> <span style="background-color: rgb(255, 255, 255);"> </span><span style="background-color: rgb(255, 255, 51);">android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.mobile" /><span style="color:#ffffff;"> </span></span><span style="color:#444444;"> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses-library android:name="android.test.runner" /> </application> </manifest></span>
在测试工程中新建lib文件夹,将下载好的Robotium jar包拷入lib中,并在build path中将jar包引入工程
- 新建一个junit测试类,代码如下:
<span style="color:#444444;">package com.mobile.test</span><span style="color:#444444;"> import com.robotium.solo.Solo; import android.test.ActivityInstrumentationTestCase2; import android.widget.Button; import android.widget.EditText; public class Logintest extends ActivityInstrumentationTestCase2{ //声明一个Solo对象 private Solo solo; private ViewFetcher viewFetcher; private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME="com.mobile.ui.activity.LoginActivity"; //声明一个Class类型的变量,用于ActivityInstrumentationTestCase2加载启动被测程序 private static Class launcherActivityClass; //声明一个标签用于日志的输出控制,便于调试 final String TAG="testStartIndexPageActivity"; static{ try { launcherActivityClass = Class .forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } //构造函数,传入launcherActivityClass即可 public Logintest () { super(launcherActivityClass); } //初始化了Solo实例 public void setUp() throws Exception { solo = new Solo(getInstrumentation(), getActivity()); } //用例结束 public void tearDown() throws Exception { solo.finishOpenedActivities(); } //登入应用 public void testlogin() throws Exception { Button lc = solo.getButton("登录"); assertTrue(lc != null); final String fieldValue1 = "admin"; final String fieldValue2 = "admin"; EditText editText = (EditText) solo.getView("login_name"); EditText editText1 = (EditText) solo.getView("login_pass"); solo.enterText(editText, fieldValue1); solo.enterText(editText1, fieldValue2); // find button and click it solo.clickOnButton("登录"); solo.sleep(1000); } </span>
- 确保上述操作无误,即可点击测试用例执行测试了。