




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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è)試用例。能夠模仿普通用戶行為,可以試著把一些原來(lái)由測(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來(lái)運(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è)試工程要繼承用來(lái)測(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)頁(yè)”); / 點(diǎn)擊
8、關(guān)閉引導(dǎo)頁(yè)按鈕 solo.clickOnView(solo.getView(splash_guide_close_iv); / 截圖 solo.takeScreenshot(“首頁(yè)”); / 等待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)常集成他們的工作,每次集成都通過(guò)自動(dòng)化的構(gòu)建(包括編譯,發(fā)布,自動(dòng)化測(cè)試)來(lái)驗(yàn)證,從而盡快地發(fā)現(xiàn)集成錯(cuò)誤。許多團(tuán)隊(duì)發(fā)現(xiàn)這個(gè)過(guò)程可以大大減少集成的問(wèn)題,讓團(tuán)隊(duì)能夠更快的
15、開發(fā)內(nèi)聚的軟件。其中包含一些代碼靜態(tài)檢查工具,自動(dòng)打包和自動(dòng)測(cè)試功能,下面說(shuō)一下用Jenkins來(lái)做自動(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端口,即可訪問(wèn)jenkins服務(wù)器。,插件管理,進(jìn)入Jenkins頁(yè)面后 系統(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ò)展插件。此處說(shuō)明下,默認(rèn)J
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 不同職業(yè)英文課件
- 內(nèi)蒙古赤峰市2025屆高三下學(xué)期3月二模試題 生物 含解析
- 內(nèi)蒙古工業(yè)大學(xué)《創(chuàng)業(yè)經(jīng)營(yíng)管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古烏拉特前旗第一中學(xué)2025年高三考前仿真模擬化學(xué)試題含解析
- 版車庫(kù)租賃合同協(xié)議書樣本3
- 山東省德州市樂(lè)陵市第一中學(xué)2025屆高考模擬調(diào)研卷化學(xué)試題(二)含解析
- 遼寧大連甘井子區(qū)育文中學(xué)2024-2025學(xué)年高中三年級(jí)教學(xué)質(zhì)量監(jiān)測(cè)(二)生物試題含解析
- 伊春市鐵力市2024-2025學(xué)年四年級(jí)數(shù)學(xué)第二學(xué)期期末聯(lián)考模擬試題含解析
- 石嘴山市惠農(nóng)區(qū)2024-2025學(xué)年數(shù)學(xué)四下期末復(fù)習(xí)檢測(cè)試題含解析
- 西安醫(yī)學(xué)高等??茖W(xué)校《第二外語(yǔ)(日、德)(4)》2023-2024學(xué)年第二學(xué)期期末試卷
- CAD培訓(xùn)課件(基礎(chǔ)教程)
- 苯酚的分子組成和結(jié)構(gòu)課件
- 大學(xué)生心理朋輩技能大賽考試題庫(kù)(含答案)
- DB32T 3544-2019 臨床級(jí)人體組織來(lái)源間充質(zhì)干細(xì)胞 質(zhì)量控制管理規(guī)范
- 國(guó)藥茶色素講稿30課件
- 魯科版五年級(jí)英語(yǔ)下How many ducks do you have?課件2
- 醫(yī)院藥品信息管理系統(tǒng)(DOC)
- isa-381g站用變接地保護(hù)測(cè)控裝置技術(shù)使用說(shuō)明書南網(wǎng)版v3
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)(中等職業(yè)學(xué)校校本教材)
- 完整版健康管理師
- 沈陽(yáng)終止解除勞動(dòng)合同范文證明書(三聯(lián))
評(píng)論
0/150
提交評(píng)論