版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、安卓自動(dòng)化Robotium使用和持續(xù)集成,QA張亞洲,目錄,1 Robotium 介紹 2 Robotium工作原理 3 Robotium的使用 4 Robotium和jenkins的持續(xù)集成,Robotium簡(jiǎn)介,Robotium是一個(gè)測(cè)試框架,能夠方便你為Android應(yīng)用程序編寫強(qiáng)大、健壯的自動(dòng)化黑盒測(cè)試用例。能夠模仿普通用戶行為,可以試著把一些原來由測(cè)試工程師做的測(cè)試變成Robotium自動(dòng)化實(shí)現(xiàn)。 Robotium 的優(yōu)點(diǎn): 1.框架支持多個(gè)activities 自動(dòng)活動(dòng)。 2.最短的時(shí)間需求寫出測(cè)試用例。 3.執(zhí)行測(cè)試用例速度快。 4.順利整合了Jenkins或Ant來運(yùn)行測(cè)試,持
2、續(xù)集成的一部分。 5.該工具用于黑盒的自動(dòng)化測(cè)試??梢栽谟性创a或者只有APK的情況下對(duì)目標(biāo)應(yīng)用進(jìn)行測(cè)試,提供了模仿用戶操作行為的API,比如在某個(gè)控件上點(diǎn)擊,輸入 Text 等等。,自動(dòng)化測(cè)試工具Robotiun 、Appium 、Monkeyrunner對(duì)比,Robotium工作原理圖,Robotium環(huán)境搭建,一 安裝JDK 安裝的版本:JDK1.7 win7 64位,安裝后配置環(huán)境變量 二 安裝SDK 安裝的版本: win7 64位,安裝后配置環(huán)境變量 三 安裝Eclipse 去官網(wǎng)/downloads/下載對(duì)應(yīng)的版本,下載后解壓到本地。 四 安
3、裝ADT插件 可在eclipse里面安裝, Help Install New Software Add輸入https:/dl-,五:在官方down所需要的jar包 地址:,Robotium使用,下面介紹只有APK包的測(cè)試。 1 打開eclipse,選擇File - New - Project - Android - Android Test Project,點(diǎn)擊Next。 2 輸入測(cè)試工程名GameTest,選擇:This project 3選擇一個(gè)已經(jīng)創(chuàng)建好的模擬器,點(diǎn)擊Finish。 4在剛創(chuàng)建的工程的包里創(chuàng)建一個(gè)測(cè)試類:選擇 src 選中包名New Junit Test Case。 5導(dǎo)
4、入robotium.jar 選擇測(cè)試工程GameHallTest右擊,選擇Build Path- Configure Build Path 在打開的Libraries中點(diǎn)擊Add External JARs按鈕,選擇從官網(wǎng)下載的兩個(gè)jar包。, 在Order and Export中, 勾選 robotium 的兩個(gè)jar包,然后點(diǎn)擊OK按鈕,6 修改AndroidManifes.xml文件,修改的targetPackAge包名一定要和要測(cè)試的包名對(duì)應(yīng),7 以棋牌大廳1.0.0為例,下面是簡(jiǎn)單的啟動(dòng)后驗(yàn)證是否有“向左滑動(dòng)有更多游戲”的例子(創(chuàng)建的測(cè)試方法名必須以test開頭)。,package
5、com.XXXXX.XXXXXtest; import com.robotium.solo.*; /導(dǎo)入robotium提供的測(cè)試用solo類 import android.test.ActivityInstrumentationTestCase2; /測(cè)試工程要繼承用來測(cè)試activity的父類 SuppressWarnings(rawtypes) public class MainActivityTest extends ActivityInstrumentationTestCase2 private Solo solo; private static final String LAUNC
6、HER_ACTIVITY_FULL_CLASSNAME = com.XXXXX.XXXX.MainActivity; private static Class launcherActivityClass; static/創(chuàng)建異常 try launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME); catch (ClassNotFoundException e) throw new RuntimeException(e); SuppressWarnings(unchecked) public MainActiv
7、ityTest() throws ClassNotFoundException super(launcherActivityClass); ,public void setUp() throws Exception solo = new Solo(getInstrumentation(); getActivity(); Override public void tearDown() throws Exception solo.finishOpenedActivities(); public void testRun() / 截圖 solo.takeScreenshot(“引導(dǎo)頁”); / 點(diǎn)擊
8、關(guān)閉引導(dǎo)頁按鈕 solo.clickOnView(solo.getView(splash_guide_close_iv); / 截圖 solo.takeScreenshot(“首頁”); / 等待3秒 solo.sleep(3000); / 點(diǎn)擊關(guān)閉每日任務(wù)彈窗 solo.clickOnView(solo.getView(dialog_close); / 等待3秒 solo.sleep(3000); /驗(yàn)證是否有向左滑動(dòng)有更多游戲 文字 assertTrue(solo.searchText(向左滑動(dòng)有更多游戲); ,Solo類運(yùn)用 Solo類中提供了自動(dòng)點(diǎn)擊、取得、拖拽、搜索等各種方法,點(diǎn)擊:
9、 clickOnButton(int)Clicks on a Button with a given index. clickOnButton(String)Clicks on a Button with a given text. clickOnCheckBox(int)Clicks on a CheckBox with a given index. clickOnText(String)Clicks on a View displaying a given text. clickLongOnText(String)Long clicks on a given View. clickOnSc
10、reen(float, float)Clicks on a given coordinate on the screen. 取得: getCurrentActivity()Returns the current Activity. getText(String)Returns a TextView which shows a given text. getView(int)Returns a View with a given id. getEditText(String)Returns an EditText which shows a given text. 拖拽: drag(float,
11、 float, float, float, int)Simulate touching a given location and dragging it to a new location. 搜索: searchText(String)Searches for a text string and returns true if at least one item is found with the expected text. searchEditText(String)Searches for a text string in the EditText objects located in
12、the current Activity. searchButton(String, boolean)Searches for a Button with the given text string and returns true if at least one Button is found. 更多方法請(qǐng)參見Solo的API文檔: ,8運(yùn)行測(cè)試程序 選擇測(cè)試工程右擊,選擇RunAs-Android JUnit Test,運(yùn)行測(cè)試程序。測(cè)試程序運(yùn)行如下:,命令行下運(yùn)行測(cè)試用例,Running all tests: adb shell am instrument -w com.XXX.XXXl
13、/com.example.test.instrumentation.InstrumentationTestRunner Running a single testcase: adb shell am instrument -w -e class com.XXXX.XXX.T01_shouye com.XXXXX.XXXX/com.example.test.instrumentation.InstrumentationTestRunner Running multiple tests: adb shell am instrument -w -e class com.XXXX.XXXX.T01_s
14、houye,com.duoku.gamehall.T03_denglu com.XXXX.XXXXX/com.example.test.instrumentation.InstrumentationTestRunner 查看當(dāng)前運(yùn)行的instrument: adb shell pm list instrumentation,Jenkins+Ant+Robotium構(gòu)建自動(dòng)化測(cè)試持續(xù)集成,持續(xù)集成是一種軟件開發(fā)實(shí)踐,即團(tuán)隊(duì)開發(fā)成員經(jīng)常集成他們的工作,每次集成都通過自動(dòng)化的構(gòu)建(包括編譯,發(fā)布,自動(dòng)化測(cè)試)來驗(yàn)證,從而盡快地發(fā)現(xiàn)集成錯(cuò)誤。許多團(tuán)隊(duì)發(fā)現(xiàn)這個(gè)過程可以大大減少集成的問題,讓團(tuán)隊(duì)能夠更快的
15、開發(fā)內(nèi)聚的軟件。其中包含一些代碼靜態(tài)檢查工具,自動(dòng)打包和自動(dòng)測(cè)試功能,下面說一下用Jenkins來做自動(dòng)化測(cè)試。,環(huán)境配置,1、安裝jdk 安裝1.6或以上版本,配置好環(huán)境變量JAVA_HOME。 2、安裝tomcat /download-70.cgi 安裝完調(diào)試下tomcat是否正常。 3、安裝ant /bindownload.cgi 下載zip包,解壓后配置好環(huán)境變量ANT_HOME。 4、安裝jenkins 下載war包,命名為Jenkins,拷貝到tomcat/webapps目錄下。 5、 安裝And
16、roid SDK 下載安裝,完成后配置好Android_SDK_HOME環(huán)境變量。此步驟主要用于進(jìn)行android自動(dòng)化測(cè)試。 安裝完成后啟動(dòng)tomcat/bin/startup.bat文件(linux下是startup.sh),在瀏覽器輸入http:/localhost:8080/jenkins,8080為tomcat端口,即可訪問jenkins服務(wù)器。,插件管理,進(jìn)入Jenkins頁面后 系統(tǒng)管理管理插件可選插件,分別把下面插件添加進(jìn)去,已經(jīng)安裝的就不需要再安裝。 1、Hudson Subversion Plug-in,jenkins的svn插件。 2、Android Emulator Plugin,android模擬器插件。 3、JUnit Attachments Plugin,junit測(cè)試報(bào)告附件插件。 4、Email-ext plugin,郵件擴(kuò)展插件。此處說明下,默認(rèn)J
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度漁船租賃與漁業(yè)政策研究服務(wù)合同4篇
- 2025年度租賃房屋租賃合同稅費(fèi)繳納指南4篇
- 2025年文化創(chuàng)意產(chǎn)業(yè)合伙人合作協(xié)議書模板3篇
- 2025年度專業(yè)賽車場(chǎng)車手雇傭合同3篇
- 2025年物產(chǎn)中大金屬集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 《廉政風(fēng)險(xiǎn)防控培訓(xùn)課件》
- 2025年貴州遵義金控集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 二零二五年度米面油食品安全風(fēng)險(xiǎn)評(píng)估與監(jiān)控合同4篇
- 2025年消防給排水系統(tǒng)管網(wǎng)優(yōu)化設(shè)計(jì)施工合同2篇
- 2025年度重型工業(yè)門采購安裝合同范本4篇
- 中國(guó)華能集團(tuán)公司風(fēng)力發(fā)電場(chǎng)運(yùn)行導(dǎo)則(馬晉輝20231.1.13)
- 中考語文非連續(xù)性文本閱讀10篇專項(xiàng)練習(xí)及答案
- 2022-2023學(xué)年度六年級(jí)數(shù)學(xué)(上冊(cè))寒假作業(yè)【每日一練】
- 法人不承擔(dān)責(zé)任協(xié)議書(3篇)
- 電工工具報(bào)價(jià)單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識(shí)別實(shí)例
- 流體靜力學(xué)課件
- 顧客忠誠(chéng)度論文
- 實(shí)驗(yàn)室安全檢查自查表
- 證券公司績(jī)效考核管理辦法
評(píng)論
0/150
提交評(píng)論