亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        移動APP自動化測試技術(shù)應(yīng)用

        2019-04-28 05:58:08王駿美吳吉紅
        電子技術(shù)與軟件工程 2019年3期
        關(guān)鍵詞:頁面

        文/王駿美 吳吉紅

        1 引言

        近年來,隨著移動互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,移動APP在人們生活中的應(yīng)用越來越廣泛,已經(jīng)成為了企業(yè)和人們溝通的重要渠道。企業(yè)業(yè)務(wù)的拓展往往取決于移動APP上業(yè)務(wù)流程的研發(fā)與實現(xiàn)。一般來說,在整個軟件開發(fā)中,測試工作量占30%~40%,甚至≥50%,如何高效地進行移動APP軟件測試以縮短其研發(fā)周期,如何在保證移動APP的質(zhì)量和用戶體驗的前提下,將其快速地發(fā)布給客戶已成為企業(yè)面臨的重要問題。在移動APP測試過程中,運用自動化測試技術(shù)以提高效率、節(jié)省時間勢在必行。下文討論了兩種主流的移動APP的自動化測試技術(shù),并對它們加以比較。

        2 基于被測軟件來識別對象的移動APP自動化測試技術(shù)

        基于被測軟件識別對象的移動APP自動化測試技術(shù)是指通過在被測軟件中查詢被測頁面元素的屬性來識別并驗證被測對象的自動化測試技術(shù)。測試人員運用編程語言編寫自動化測試腳本,通過程序的執(zhí)行來判定被測軟件中是否存在含有目標屬性的頁面元素以達到自動化測試的目標。

        常用的基于被測軟件識別對象的移動APP自動化測試工具有APPium等。APPium是目前移動應(yīng)用功能測試領(lǐng)域最流行的開源框架,可以控制原生或混合iOS及Android應(yīng)用來實現(xiàn)自動化測試。APPium測試腳本可以用Ruby、Python、Java等多種語言編寫。APPium采用了Client-Server的設(shè)計模式,Client端是測試腳本,APPiumServer通過WebDriver協(xié)議接收由Client發(fā)送來的請求。對于Android端的測試來說,APPiumServer把收到的請求轉(zhuǎn)發(fā)給安裝在手機上的Bootstrap.jar,Bootstrap負責(zé)監(jiān)聽APPium命令并在手機上通過調(diào)用UiAutomator來實現(xiàn)操作,最后Bootstrap將執(zhí)行結(jié)果返回給APPium Server,APPium Server再把執(zhí)行結(jié)果返回給Client。對于iOS端的測試來說,APPiumiOS封裝了APPle的Instruments框架,主要用了Instruments里的UIAutomation,移動設(shè)備端通過注入bootstrap.js進行監(jiān)聽,bootstrap.js將執(zhí)行結(jié)果返回給APPium Server, APPium Server再將結(jié)果返回給APPium Client。APPium支持多平臺,包括MAC和Windows,當(dāng)在MAC平臺上編寫了一個APPium自動化腳本并執(zhí)行,請求會到達MAC下的APPium-Server解析,驅(qū)動iOS設(shè)備來執(zhí)行APPium自動化腳本;當(dāng)在Windows平臺上編寫了一個APPium自動化腳本并執(zhí)行,請求會到 Windows下APPium-Server解析,驅(qū)動Android虛擬機或真機來執(zhí)行APPium腳本。所以,APPium是一個非常靈活的跨平臺框架。

        APPium是通過id、XPath等屬性來定位元素的。

        當(dāng)通過id定位元素時,取的是元素id的值,例如在摩拜單車APP中查找id為reserve的元素,腳本命令為driver.find_element_by_id("com.mobike.mobikeAPP:id/reserve");

        當(dāng)通過XPath定位時,APPium會查詢當(dāng)前頁面元素及子元素中能滿足指定條件的對象,例如在摩拜單車APP當(dāng)前界面的任何元素及子元素中查找resource-id為com.mobile.mobileAPP:id/reserve的元素,命令為driver.find_element_by_xpath("http://*[@resourceid='com.mobile.mobileAPP:id/reserve']");其中“//*”表示在當(dāng)前界面的所有元素及子元素中查找。“[]”表示滿足一定的條件。再例如在摩拜單車APP當(dāng)前界面的任何元素及子元素中查找文本為“預(yù)約用車”的元素,命令為driver.find_element_by_xpath("http://*[@text='預(yù)約用車']");

        3 基于圖像識別的移動APP自動化測試技術(shù)

        基于圖像識別的移動APP測試技術(shù)是預(yù)先獲得并保存正確的移動APP屏幕的基準圖像,然后在動態(tài)的測試執(zhí)行過程中,通過采用先進的圖像識別技術(shù),將被測APP頁面圖像與基準圖像對比并輸出測試結(jié)果的自動化測試技術(shù)。圖像識別的過程主要包括數(shù)據(jù)采集、圖像預(yù)處理、特征提取、模式識別四個主要過程。數(shù)據(jù)采集階段的主要任務(wù)是獲取被識別圖像。由于圖像中含有大量的背景噪聲,如光線及電阻、電磁和元器件干擾等內(nèi)部條件的影響,需要在圖像預(yù)處理階段對輸入圖像進行處理以消除無關(guān)信息,提取有用信息。在特征提取階段,從圖像中提取出有利于識別目標圖像的屬性特征,如顏色、形狀、空間等特征,為下一步識別打下基礎(chǔ)。在模式識別階段,對圖像的特征信息進行處理和分析,以對圖像進行描述、辨認、分類和解釋。在這個階段,需要選擇合適的模式識別算法,將待測圖像與預(yù)先保存的基準圖像進行對比,最后輸出識別結(jié)果。

        基于圖像識別的移動APP自動化測試工具如Mobot等,以機械臂模擬人手,以高清攝像頭拍攝模擬人眼識別,對被測終端進行操作。測試執(zhí)行前,測試人員需要保存大量基準圖片,并且根據(jù)手工測試用例繪制自動化測試圖形化工作流,當(dāng)測試執(zhí)行時,工具會根據(jù)工作流中的步驟,用攝像頭拍攝捕捉實際的屏幕圖像,然后與預(yù)先存儲的基準圖片對比驗證是否匹配;在測試過程中,通過圖像識別技術(shù)驗證頁面元素,然后機器臂對目標元素進行點擊或滑屏等操作來推動測試的進行。

        4 兩種自動化測試技術(shù)的比較

        在實際移動APP項目中應(yīng)該運用哪種自動化測試技術(shù)是企業(yè)研發(fā)團隊經(jīng)常遇到的問題,現(xiàn)對兩種技術(shù)對比如下。

        4.1 兩種自動化測試技術(shù)在實際應(yīng)用中的異同點

        在頁面文本內(nèi)容的驗證方面,基于被測軟件來識別對象的自動化測試技術(shù)是通過被測軟件獲取到準確的待測頁面的文本內(nèi)容,然后和測試程序腳本中的預(yù)期文本內(nèi)容作比較,從而輸出驗證結(jié)果;基于圖像識別的移動APP自動化測試技術(shù)是通過圖像識別來判定待測頁面的文本內(nèi)容是否和基準頁面的文本內(nèi)容一致。由于圖像識別算法有一定的誤差,基于被測軟件來識別對象的自動化測試技術(shù)能夠方便準確地獲得頁面元素的文本信息。所以,對于文本內(nèi)容的驗證的效果,基于被測軟件來識別對象的自動化測試技術(shù)優(yōu)于基于圖像識別的自動化測試技術(shù)。

        表1:兩種自動化測試技術(shù)的異同

        在移動APP頁面元素的外觀圖像以及元素之間的相對位置的驗證方面,基于被測軟件來識別對象的自動化測試技術(shù)是通過從待測軟件中檢測是否存在待測元素的id、XPath等屬性值來判定待測頁面中是否包含目標元素,因此基于被測軟件來識別對象的自動化測試技術(shù)只能驗證頁面元素的存在性,而不能驗證頁面元素的圖像外觀以及元素之間的相對位置的正確性;基于圖像識別的移動APP自動化測試技術(shù)是通過圖像識別技術(shù)來判定待測頁面的元素是否和基準頁面的元素一致,可以驗證頁面元素的外觀與元素之間的相對位置。因此頁面元素外觀以及元素之間的相對位置的驗證應(yīng)該選用基于圖像識別的自動化測試技術(shù),而基于被測軟件來識別對象的自動化測試技術(shù)不能夠覆蓋此類驗證。

        在對被測移動終端操作系統(tǒng)的支持方面,在使用基于被測軟件來識別對象自動化測試技術(shù)時,要充分考慮到自動化測試工具是否能夠很好地支持待測終端的操作系統(tǒng),能否和待測終端的操作系統(tǒng)很好地協(xié)同,以及在不同的操作系統(tǒng)上的配置等。而基于圖像識別的自動化測試技術(shù)完全模擬人的操作,不需要考慮移動終端所使用的操作系統(tǒng),能夠直接支持各種操作系統(tǒng)的移動APP測試。

        在長時間的連續(xù)測試方面,由于基于被測軟件的自動化測試工具的Server端需要和移動終端之間進行消息的傳遞,不間斷的測試可能會使得移動終端溫度過高而最終導(dǎo)致終端狀態(tài)失常,從而影響測試結(jié)果準確性和有效性。而基于圖像識別的自動化測試完全模擬人的行為,不和移動終端進行內(nèi)部的消息交互。所以,在長時間的連續(xù)測試方面,基于圖像識別的自動化測試更可靠。

        在對測試人員的要求方面,從事基于被測軟件識別對象的自動化測試人員需要有較強的編程能力,能夠運用編程語言熟練地編寫和調(diào)試程序以自動化各種測試場景,解決自動化測試中遇到的各種問題?;趫D像識別的自動化測試對測試人員的編程能力沒有特別要求,只要能夠根據(jù)手工測試用例場景繪制工作流程圖即可。

        兩種自動化測試技術(shù)的對比如表1所示。

        4.2 兩種自動化測試技術(shù)在實際應(yīng)用中的共同點

        當(dāng)然,兩種自動化測試技術(shù)也有很多共同之處。無論使用哪種自動化測試技術(shù),被自動化的測試都可以反復(fù)執(zhí)行,執(zhí)行過程中,測試人員一般不需要干預(yù),可以節(jié)省時間,提高工作效率。測試執(zhí)行完后,都需要人工查看和分析測試報告。單純的兩種自動化測試技術(shù)還都不能夠滿足需要人體干預(yù)的測試場景的自動化測試需求,比如和移動終端旋轉(zhuǎn)或需要掃描人體指紋的相關(guān)測試等,對于這些測試的自動化,可以配合使用機器臂旋轉(zhuǎn)手機以及模擬人體指紋技術(shù)來實現(xiàn)。

        5 結(jié)語

        綜上所述,在做移動APP測試時,應(yīng)當(dāng)根據(jù)不同測試場景選擇適當(dāng)?shù)淖詣踊瘻y試技術(shù)來實現(xiàn)測試的自動化,在實際項目中往往需要綜合運用多種自動化測試技術(shù)來滿足測試的需求。相信隨著自動化測試技術(shù)的不斷發(fā)展以及自動化測試系統(tǒng)的逐步完善,不僅越來越多的移動APP的測試場景可以被自動化,而且實現(xiàn)自動化測試所需要的成本會越來越低,自動化測試的精準度會逐步提高。

        猜你喜歡
        頁面
        微信群聊總是找不到,打開這個開關(guān)就好了
        大狗熊在睡覺
        刷新生活的頁面
        在本機中輕松完成常見PDF操作
        電腦愛好者(2022年3期)2022-05-30 10:48:04
        移動頁面設(shè)計:為老人做設(shè)計
        Web安全問答(3)
        同一Word文檔 縱橫頁面并存
        網(wǎng)站結(jié)構(gòu)在SEO中的研究與應(yīng)用
        幾種頁面置換算法的基本原理及實現(xiàn)方法
        淺析ASP.NET頁面導(dǎo)航技術(shù)
        亚洲中文字幕诱惑第一页| 日韩有码中文字幕在线视频| 日本一区二区三本视频在线观看| 久久久婷婷综合亚洲av| 国产精品成人无码a 无码| 中文字幕中文字幕人妻黑丝| 国产三级av在线播放| 亚洲素人日韩av中文字幕| 亚洲小少妇一区二区三区| 精品国产av一区二区三四区| 激情五月六月婷婷俺来也| 国产让女高潮的av毛片| 国产精品白浆在线观看免费| 国产精品久久久久9999小说| 天天综合亚洲色在线精品| 黑人性受xxxx黑人xyx性爽| 日韩中文字幕网站| 中文字幕亚洲精品专区| 久久国产精品免费一区二区三区| 国产91久久麻豆黄片| 亚洲精品国产成人片| 久久精品国产亚洲av四虎| 成年女人永久免费看片| 骚片av蜜桃精品一区| 国产精品久久中文字幕亚洲| 日本va中文字幕亚洲久伊人| 未发育成型小奶头毛片av| 国产二级一片内射视频插放| 国产喷水福利在线视频| 亚洲电影久久久久久久9999| 麻豆夫妻在线视频观看| 久久99热只有频精品8国语| 精品无人码麻豆乱码1区2区| 国产成人无码一区二区三区在线| 精品欧美乱子伦一区二区三区 | 国产白浆一区二区在线| 国产色欲av一区二区三区| 亚洲av永久无码精品国产精品 | 中国女人a毛片免费全部播放| 日本在线观看一区二区视频| 日本区一区二区三视频|