真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Robotium入門

Android測(cè)試環(huán)境
Android測(cè)試環(huán)境的核心是一個(gè)Instrumentation框架。Instrumentation框架通過(guò)將主程序和測(cè)試程序運(yùn)行在一個(gè)進(jìn)程來(lái)實(shí)現(xiàn)功能,通過(guò)Java反射機(jī)制,來(lái)獲取當(dāng)前窗口所有視圖,并根據(jù)該視圖查找到目標(biāo)控件的屬性信息,并計(jì)算出目標(biāo)控件中心點(diǎn)坐標(biāo)。然后,利用Instrument內(nèi)部接口,實(shí)現(xiàn)點(diǎn)擊操作。
Android自身提供了對(duì)Instrumentation測(cè)試的基本支持,其中之一就是位于android.test包內(nèi)的ActivityInstrumentationTestCase2類,它擴(kuò)展了JUnit的TestCase類提供的Android activities的功能測(cè)試。在應(yīng)用測(cè)試中,每個(gè)activity首先會(huì)被Instrumentation初始化,然后再加載到Android模擬器來(lái)執(zhí)行。
Robotium的case都繼承ActivityInstrumentationTestCase2。設(shè)計(jì)的目的:主要用來(lái)得到測(cè)試的Activity,執(zhí)行單元測(cè)試用例。getActivity()是入口
Robotium - Instrumentation
Robotium框架,使用的也是Instrumentation,通過(guò)將測(cè)試的工程項(xiàng)目安裝到AVD(模擬器)上面來(lái)與運(yùn)行時(shí)的項(xiàng)目交互,觸發(fā)其組件的動(dòng)作等。這種方法需要兩個(gè)項(xiàng)目同時(shí)安裝到AVD中。
Robotium簡(jiǎn)介:
是一個(gè)測(cè)試框架,能方便為Android應(yīng)用程序編寫強(qiáng)大、健壯的自動(dòng)化黑盒測(cè)試用例。利用Robotium的支持,用例開發(fā)人員能編寫功能、系統(tǒng)和驗(yàn)收測(cè)試方案,跨越多個(gè)Android activities,Robotium支持Activities,Dialogs, Toasts, Menus, Context Menus

官網(wǎng):www.robotium.org
中文社區(qū):www.robotium.cn

優(yōu)點(diǎn):
1. 可以以最少的知識(shí)去測(cè)試應(yīng)用程序,和發(fā)展強(qiáng)大的測(cè)試用例。
2. 可以自動(dòng)處理多個(gè)Android activity
3. 開源, 版本更新迅速
4. 用于黑河的自動(dòng)化測(cè)試,可以在有源碼或者只有APK的情況下對(duì)目標(biāo)應(yīng)用進(jìn)行測(cè)試,提供了模仿用戶操作行為的API,比如輸入text等。
5. 通過(guò)運(yùn)行時(shí)綁定GUI組件使測(cè)試用例更強(qiáng)大
6. 執(zhí)行測(cè)試用例速度快
7. 順利整合了Maven或Ant來(lái)運(yùn)行測(cè)試,持續(xù)集成的一部分
常用方法:
get

getCurrentActivity() --
getText(String)
getView(int)
getEditText(String)
getImage(int) -- Returns an p_w_picpathView with a given index

Click:
clickOnButton(int)
clickOnButton(String)
clickOnCheckBox(int)
clickOnView(View)
clickOnText(String)
clickLongOnText(String)
clickOnRadioButton(int)
clickOnScreen(float, float)

drag & scroll:
darg(float, float, float, float, int)
scrollDown()/scrollToBottom()/scrollToTop()/scrollToSide(int side)

search:
searchText(String)
searchEditText(String)
searchButton(String, boolean)

wait:
waitForActivity(String name)
waitForCondition(Condition condition, timeout)
waitForDialogToClose(long timeout)
waitForTest(String text)
waitForView(View view)
waitForWebElement(By by)

Class:
By: public abstract class By extends Object    用于處理web元素
Condition:public interface Condition    Method: isSatisfied()
RobotiumUtils: public class RobotiumUtils extends Object    包含一些工具性的方法,供其他類使用
Solo:public class Solo extends Object    Robotium測(cè)試開發(fā)的主要類,對(duì)views, WebViews, Activities, Dialogs, Menus, Context Menus有很好的支持
Timeout: public class Timeout extends Object     獲取或設(shè)置超時(shí)時(shí)間
WebElement:public class WebElement extends Object    WebViews的元素,有g(shù)etClassName, getTagName等屬性

編寫Robotium測(cè)試程序:
指定需要啟動(dòng)的Activity,launcherActivityClass = Class.forName(ActivityName);
在構(gòu)造函數(shù)里傳入該Activity
重寫setUp() -- 初始化Solo對(duì)象
重寫tearDown() -- 釋放所有Activity資源
編寫測(cè)試用例

為什么需要重簽名?
因?yàn)闇y(cè)試apk和被測(cè)apk的簽名需要一致才能運(yùn)行并驅(qū)動(dòng)測(cè)試
如何進(jìn)行重簽名?
雙擊re-sign.jar, 將重簽名的apk拖至re-sign.jar窗口中
cmd: java -jar xxx/resign.jar(jar包所在位置)
InstrumentationTestRunner: 執(zhí)行JUnit Test, 可以理解為對(duì)用例進(jìn)行管理和操作,繼承在Instrumentation

夏河網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,夏河網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為夏河上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的夏河做網(wǎng)站的公司定做!


新聞名稱:Robotium入門
標(biāo)題來(lái)源:http://weahome.cn/article/gsgcjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部