




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、安卓自動化Robotium使用和持續(xù)集成,QA張亞洲,目錄,1 Robotium 介紹 2 Robotium工作原理 3 Robotium的使用 4 Robotium和jenkins的持續(xù)集成,Robotium簡介,Robotium是一個測試框架,能夠方便你為Android應(yīng)用程序編寫強大、健壯的自動化黑盒測試用例。能夠模仿普通用戶行為,可以試著把一些原來由測試工程師做的測試變成Robotium自動化實現(xiàn)。 Robotium 的優(yōu)點: 1.框架支持多個activities 自動活動。 2.最短的時間需求寫出測試用例。 3.執(zhí)行測試用例速度快。 4.順利整合了Jenkins或Ant來運行測試,持
2、續(xù)集成的一部分。 5.該工具用于黑盒的自動化測試??梢栽谟性创a或者只有APK的情況下對目標(biāo)應(yīng)用進行測試,提供了模仿用戶操作行為的API,比如在某個控件上點擊,輸入 Text 等等。,自動化測試工具Robotiun 、Appium 、Monkeyrunner對比,Robotium工作原理圖,Robotium環(huán)境搭建,一 安裝JDK 安裝的版本:JDK1.7 win7 64位,安裝后配置環(huán)境變量 二 安裝SDK 安裝的版本: win7 64位,安裝后配置環(huán)境變量 三 安裝Eclipse 去官網(wǎng)/downloads/下載對應(yīng)的版本,下載后解壓到本地。 四 安
3、裝ADT插件 可在eclipse里面安裝, Help Install New Software Add輸入https:/dl-,五:在官方down所需要的jar包 地址:,Robotium使用,下面介紹只有APK包的測試。 1 打開eclipse,選擇File - New - Project - Android - Android Test Project,點擊Next。 2 輸入測試工程名GameTest,選擇:This project 3選擇一個已經(jīng)創(chuàng)建好的模擬器,點擊Finish。 4在剛創(chuàng)建的工程的包里創(chuàng)建一個測試類:選擇 src 選中包名New Junit Test Case。 5導(dǎo)
4、入robotium.jar 選擇測試工程GameHallTest右擊,選擇Build Path- Configure Build Path 在打開的Libraries中點擊Add External JARs按鈕,選擇從官網(wǎng)下載的兩個jar包。, 在Order and Export中, 勾選 robotium 的兩個jar包,然后點擊OK按鈕,6 修改AndroidManifes.xml文件,修改的targetPackAge包名一定要和要測試的包名對應(yīng),7 以棋牌大廳1.0.0為例,下面是簡單的啟動后驗證是否有“向左滑動有更多游戲”的例子(創(chuàng)建的測試方法名必須以test開頭)。,package
5、com.XXXXX.XXXXXtest; import com.robotium.solo.*; /導(dǎo)入robotium提供的測試用solo類 import android.test.ActivityInstrumentationTestCase2; /測試工程要繼承用來測試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)頁”); / 點擊
8、關(guān)閉引導(dǎo)頁按鈕 solo.clickOnView(solo.getView(splash_guide_close_iv); / 截圖 solo.takeScreenshot(“首頁”); / 等待3秒 solo.sleep(3000); / 點擊關(guān)閉每日任務(wù)彈窗 solo.clickOnView(solo.getView(dialog_close); / 等待3秒 solo.sleep(3000); /驗證是否有向左滑動有更多游戲 文字 assertTrue(solo.searchText(向左滑動有更多游戲); ,Solo類運用 Solo類中提供了自動點擊、取得、拖拽、搜索等各種方法,點擊:
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. 更多方法請參見Solo的API文檔: ,8運行測試程序 選擇測試工程右擊,選擇RunAs-Android JUnit Test,運行測試程序。測試程序運行如下:,命令行下運行測試用例,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)前運行的instrument: adb shell pm list instrumentation,Jenkins+Ant+Robotium構(gòu)建自動化測試持續(xù)集成,持續(xù)集成是一種軟件開發(fā)實踐,即團隊開發(fā)成員經(jīng)常集成他們的工作,每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡快地發(fā)現(xiàn)集成錯誤。許多團隊發(fā)現(xiàn)這個過程可以大大減少集成的問題,讓團隊能夠更快的
15、開發(fā)內(nèi)聚的軟件。其中包含一些代碼靜態(tài)檢查工具,自動打包和自動測試功能,下面說一下用Jenkins來做自動化測試。,環(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)境變量。此步驟主要用于進行android自動化測試。 安裝完成后啟動tomcat/bin/startup.bat文件(linux下是startup.sh),在瀏覽器輸入http:/localhost:8080/jenkins,8080為tomcat端口,即可訪問jenkins服務(wù)器。,插件管理,進入Jenkins頁面后 系統(tǒng)管理管理插件可選插件,分別把下面插件添加進去,已經(jīng)安裝的就不需要再安裝。 1、Hudson Subversion Plug-in,jenkins的svn插件。 2、Android Emulator Plugin,android模擬器插件。 3、JUnit Attachments Plugin,junit測試報告附件插件。 4、Email-ext plugin,郵件擴展插件。此處說明下,默認(rèn)J
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 曲靖職業(yè)技術(shù)學(xué)院《文化產(chǎn)業(yè)與管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州電子商務(wù)職業(yè)學(xué)院《推拿按摩技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 西藏林芝地區(qū)第一中學(xué)2025屆高三下學(xué)期單科質(zhì)量檢查生物試題含解析
- 重慶市秀山縣2025年數(shù)學(xué)五年級第二學(xué)期期末調(diào)研試題含答案
- 浙江紹興諸暨市2025年數(shù)學(xué)四下期末綜合測試模擬試題含解析
- 蘭州交通大學(xué)《納稅籌劃》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州電子商務(wù)職業(yè)學(xué)院《各家學(xué)說》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川城市職業(yè)學(xué)院《馬克思主義哲學(xué)原著》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年廣西桂林市中考數(shù)學(xué)一模試卷
- 第21課+世界殖民體系的瓦解與新興國家的發(fā)展+教學(xué)設(shè)計-2024-2025學(xué)年高一下學(xué)期統(tǒng)編版(2019)必修中外歷史綱要下
- 2024年化糞池清理合同協(xié)議書范本
- 中醫(yī)禁食療法專家共識護理課件
- YY 0793.2-2023血液透析和相關(guān)治療用液體的制備和質(zhì)量管理第2部分:血液透析和相關(guān)治療用水
- 管理溝通-原理、策略及應(yīng)用(第二版)教學(xué)課件1
- 國家的大糧倉課件
- 手術(shù)患者轉(zhuǎn)運交接及注意事項
- 《秘書文檔管理》思考與實訓(xùn)習(xí)題及答案 -第2章
- 加油站股東合作協(xié)議書
- Part1-2 Unit1 Travel課件-【中職專用】高一英語精研課堂(高教版2021·基礎(chǔ)模塊2)
- 2023個人房屋租賃合同標(biāo)準(zhǔn)版范本
- 英漢互譯單詞練習(xí)打印紙
評論
0/150
提交評論