Robotium—只有apk時,進行自動化測試

Robotium—只有apk時,進行自動化測試

在沒有源代碼,只有安裝包的時候,如何進行robotium自動化測試?下面進行講解
1、重簽名apk包
使用位於sdk/tools/目錄下的文件 re-sign.jar,直接點擊打開re-sign.jar,將apk包拖到界面內,選擇保存位置,開始重簽名;
   
2.重簽名成功以後,會出現一個彈窗,如圖,
記住彈窗中的內容,因爲創建測試工程的時候需要;

3.創建一個新測試工程;
打開Eclipse,點擊File->New一個Android Test Project  , Name是 XunleiTest 然後點擊下一步的時候選擇This project(因爲我們沒有迅雷的源碼),然後選擇要在哪個android版本上測試;
4.導入robotium.jar;
選擇該工程,右鍵選擇properties->java build path->libraries->Add External JARs; 選擇robotium.jar;
5.修改AndroidManifest.xml
<instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.xunlei.downloadprovider" />
6.在該項目下面創建一個包,包名爲:com.xunlei.home.test ; 該包下創建一個Junit Test, 名稱爲ScrollTest;
導入:

import android.annotation.SuppressLint;
import android.app.Activity;
import android.test.ActivityInstrumentationTestCase2;
import android.view.View;
import com.robotium.solo.Solo;  
public class ScrollsTest extends ActivityInstrumentationTestCase2{

private Solo solo;
private Activity activity;
private static Class<?>launchActivityClass;

private static String mainActivity="com.xunlei.downloadprovider.loading.LoadingActivity";
private static String packageName="com.xunlei.downloadprovider";
//此處填寫apk重簽名成功後,彈窗中的內容;
static {
try {
launchActivityClass = Class.forName(mainActivity);
catch (ClassNotFoundException e) {
throw new RuntimeException(e);}

}
public ScrollsTest() {
super(packageName, launchActivityClass); }//繼承被測試的activity類

@SuppressLint("NewApi")
@Before
public void setUp() throws Exception {
super.setUp();
this.activity = this.getActivity();
this.solo = new Solo(getInstrumentation(), getActivity());}
@Test
public void testScroll1() throws Exception{
solo.assertCurrentActivity("Excepted   LoadingActivity Activity", "LoadingActivity");//判斷當前activity是否正確
solo.sleep(3000);
View view0=null;
view0=solo.getView("com.xunlei.downloadprovider:id/troll_item_img",0);  //得到輪播圖的id,可以用sdk/tools/ 下的uiautomatorviewer.bat,得到resource_id;
solo.sleep(1000); //等待1000毫秒
//獲得從0數起的第1個ResourceId爲”com.xunlei.downloadprovider:id/troll_item_img"的控件。 
solo.clickOnView(view0);  //點擊該控件
solo.goBack(); //返回上一級
}
@After
public void tearDown() throws Exception {
solo.finishOpenedActivities();}
}

7.最後,選擇Run As —> Android Junit Test ,如果是真機測試,在真機上安裝重簽名的apk以後,連接電腦和手機,選擇真機;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章