999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

移動APP自動化測試技術應用

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

文/王駿美 吳吉紅

1 引言

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

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

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

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

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

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

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

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

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

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

4 兩種自動化測試技術的比較

在實際移動APP項目中應該運用哪種自動化測試技術是企業研發團隊經常遇到的問題,現對兩種技術對比如下。

4.1 兩種自動化測試技術在實際應用中的異同點

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

表1:兩種自動化測試技術的異同

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

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

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

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

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

4.2 兩種自動化測試技術在實際應用中的共同點

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

5 結語

綜上所述,在做移動APP測試時,應當根據不同測試場景選擇適當的自動化測試技術來實現測試的自動化,在實際項目中往往需要綜合運用多種自動化測試技術來滿足測試的需求。相信隨著自動化測試技術的不斷發展以及自動化測試系統的逐步完善,不僅越來越多的移動APP的測試場景可以被自動化,而且實現自動化測試所需要的成本會越來越低,自動化測試的精準度會逐步提高。

猜你喜歡
頁面
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
在本機中輕松完成常見PDF操作
電腦愛好者(2022年3期)2022-05-30 10:48:04
移動頁面設計:為老人做設計
工業設計(2016年1期)2016-05-04 03:58:09
Web安全問答(3)
通信技術(2012年4期)2012-02-15 07:10:35
同一Word文檔 縱橫頁面并存
網站結構在SEO中的研究與應用
幾種頁面置換算法的基本原理及實現方法
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 日韩毛片免费视频| 日本在线国产| 好紧太爽了视频免费无码| 国产麻豆另类AV| 91青青视频| 高清码无在线看| 亚洲开心婷婷中文字幕| 国内熟女少妇一线天| 日韩在线影院| 亚洲精品你懂的| 久久无码av三级| 国产一级妓女av网站| AV熟女乱| 91青青草视频| 国产欧美又粗又猛又爽老| 国产男人天堂| 91免费国产高清观看| 日韩精品成人在线| 日韩精品久久无码中文字幕色欲| 久久精品无码中文字幕| 日韩精品一区二区三区swag| 国产女人18水真多毛片18精品| 久久男人资源站| 不卡午夜视频| 亚洲国产第一区二区香蕉| 久久精品这里只有国产中文精品| 97久久精品人人做人人爽| 国产粉嫩粉嫩的18在线播放91| 国产丝袜第一页| 中国国产一级毛片| 99久久精品国产精品亚洲| 国产导航在线| 日韩高清中文字幕| 国产成人精品一区二区| 91精品在线视频观看| 91免费观看视频| 精品一区二区三区水蜜桃| 好紧好深好大乳无码中文字幕| 丝袜久久剧情精品国产| 国产麻豆另类AV| 亚洲经典在线中文字幕| 最新精品久久精品| 97精品久久久大香线焦| 91系列在线观看| 亚洲专区一区二区在线观看| 免费一级全黄少妇性色生活片| 日韩欧美中文| 尤物成AV人片在线观看| 国内丰满少妇猛烈精品播| 亚洲高清在线天堂精品| 精品国产一区二区三区在线观看 | 91在线播放免费不卡无毒| 亚洲综合一区国产精品| 高h视频在线| 五月天久久婷婷| 精品国产成人高清在线| 国产人人干| 亚洲视频无码| 激情综合图区| 国产无遮挡裸体免费视频| 亚洲另类色| 午夜色综合| 乱码国产乱码精品精在线播放| 国产丝袜第一页| 久久人午夜亚洲精品无码区| 日韩东京热无码人妻| 久久久精品无码一区二区三区| 国产一级做美女做受视频| 亚洲视频影院| 亚洲欧美成人在线视频 | 亚洲欧美综合在线观看| 午夜精品区| 四虎成人精品在永久免费| 午夜激情福利视频| 亚洲一区无码在线| 一级毛片免费观看不卡视频| 免费观看精品视频999| 国产高潮流白浆视频| 精品国产免费观看一区| 欧美a在线视频| 自偷自拍三级全三级视频| 国产精品中文免费福利|