Robotium針對(duì)只有apk包的測(cè)試方法
我們?cè)跍y(cè)試中往往得到的測(cè)試包只是一個(gè)apk文件,許多公司對(duì)于源碼還是有所保留。為此我結(jié)合robotium官方的文檔以及自己的實(shí)踐寫一個(gè)針對(duì)apk包的自動(dòng)化測(cè)試教程,希望對(duì)這方面不了解的同學(xué)有所幫助。
準(zhǔn)備工作
- 掌握基本的robotium測(cè)試:參考Robotium環(huán)境搭建與新手入門教程
- 被測(cè)試工程:點(diǎn)擊下載
- 重簽名批處理文件:點(diǎn)擊下載
- 簽名,debug.keystore(位于虛擬機(jī)主目錄下,例:C:\Users\Admin\.android)
操作步驟
- 將例子程序拖到resign.bat文件上(確保例子程序、debug簽名、resign.bat在同一文件夾中),完成后即可得到經(jīng)過重新簽名的apk文件了。注:重簽名的方法有各種各樣,比如官方提供的resign.jar工具
- 打開Eclipse,新建一個(gè)空的android應(yīng)用程序,并且引入robotium.jar包
- 修改manifest.xml文件,加人instrumentation配置
- 新建一個(gè)junit測(cè)試類,代碼如下:
01
package
com.example.testapk;
02
03
import
android.test.ActivityInstrumentationTestCase2;
04
05
import
com.jayway.android.robotium.solo.Solo;
06
07
@SuppressWarnings
({
"unchecked"
,
"rawtypes"
})
08
public
class
Test
extends
ActivityInstrumentationTestCase2 {
09
private
static
final
String LAUNCHER_ACTIVITY_FULL_CLASSNAME =
"com.calculator.Main"
;
10
private
static
Class launcherActivityClass;
11
static
{
12
try
{
13
launcherActivityClass = Class
14
.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
15
}
catch
(ClassNotFoundException e) {
16
throw
new
RuntimeException(e);
17
}
18
}
19
20
public
Test()
throws
ClassNotFoundException {
21
super
(launcherActivityClass);
22
}
23
24
private
Solo solo;
25
26
@Override
27
protected
void
setUp()
throws
Exception {
28
solo =
new
Solo(getInstrumentation(), getActivity());
29
}
30
31
public
void
testDisplayBlackBox() {
32
solo.enterText(
0
,
"10"
);
33
solo.enterText(
1
,
"20"
);
34
solo.clickOnButton(
"Multiply"
);
35
assertTrue(solo.searchText(
"200"
));
36
}
37
38
@Override
39
public
void
tearDown()
throws
Exception {
40
solo.finishOpenedActivities();
41
}
42
}
- 確保上述操作無誤,即可點(diǎn)擊測(cè)試用例執(zhí)行測(cè)試了。
posted on 2014-05-15 21:16 順其自然EVO 閱讀(2361) 評(píng)論(1) 編輯 收藏 所屬分類: android