Robotium只有apk文件時進行測試
首先:設置環境變量
1. 配置ANDROID_HOME為android sdk的安卓目錄,例如:D:\android-sdk
2. 在path下添加這兩個:
%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
1. 因為robotium要求被測應用和測試代碼要有一致的簽名, 所以我們需要把下載到的apk,通過re-sign.jar來產生debug key的apk,這個重新生成的apk就會跟測試項目簽名一致了
re-sign.jar可以從這里下載到:
http://www.troido.de/re-sign.jar
2. 下載完后,在命令行下 通過 java -jar re-sign.jar就會出現一個節目,然后將apk拖到這個節目,就會自動生成一個debug key的apk
產生新apk的過程中會彈出一個信息框,記得截下圖,因為里面有兩個信息我們等會的代碼中需要用到
3. 安裝產生的apk。然后打開模擬器(模擬器器一定要打開才能安裝成功),然后打開命令行
安裝成功就可以再模擬器里看到該應用的圖標了
1. 打開Eclipse,點擊File->New一個Android Test Project
2. 在該項目下創建一個包,com.mitalk.test,在該包下創建LoginTest類,如下
package com.mitalk.test;
//需要導入的包
import android.app.Activity;
import android.test.ActivityInstrumentationT
import com.jayway.android.robotium.solo.Solo;
@SuppressWarnings("rawtypes")
public class LoginTest extends ActivityInstrumentationT
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 LoginTest() {
super(packageName, launchActivityClass);
}
@Override
protected void setUp() throws Exception {
super.setUp();
this.activity = this.getActivity();
this.solo = new Solo(getInstrumentation(), getActivity());
}
public void testLoginWithIncorrentUs
}
@Override
public void tearDown() throws Exception {
try {
this.solo.finishOpenedActivities();
} catch (Throwable e) {
e.printStackTrace();
}
this.activity.finish();
super.tearDown();
}
}
3. 右鍵該項目,選擇property然后選擇java build path, 選擇 Add External JARs,選擇下到的robotium.jar
4. 在跑測試用例之前,還需要修改下AndroidManifest.xml文件的android:targetPackage為被測應用的根的包名