-
環境搭建
- 安裝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>
- 確保上述操作無誤,即可點擊測試用例執行測試了。