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

一種基于Selenium與Unittest的Web自動化測試框架

2021-09-23 05:55:26單攀攀
網絡安全與數據管理 2021年9期
關鍵詞:設計

單攀攀

(上海維也知科技責任有限公司,上海201106)

0 引言

軟件測試是為了提高軟件系統可靠性,保障軟件系統質量而存在。IEEE、ACM等組織制定了一系列的軟件測試流程標準。Carnegie Mellon主要進行了基于關鍵字驅動模型自動化測試的研究[1]。伴隨著互聯網技術的發展和自動化測試工具與方法的不斷完善和擴展,自動化測試技術越來越成為了當前軟件工程領域的熱門研究方向之一。

現今越來越多的企業應用在使用B/S架構[2](即Web),B/S架構解決了C/S架構存在的部分問題,不僅沒有客戶端的差異,而且用戶只需要安裝瀏覽器,不需要再額外安裝客戶端應用。假如應用的業務需求有所變更,僅僅將服務器端的應用程序進行更新即可。另外,客戶端應用將不會受限于操作系統的區別,當前主流的瀏覽器往往在多種操作系統下都有對應的版本可供使用。

隨著市場Web應用的不斷擴充,Web平臺的自動化測試或為軟件自動化測試的主要組成內容,目前軟件行業也在該方面取得了一些研究碩果。Throught Works公司研發了一系列開源的Selenium Web平臺的功能測試工具集,普遍應用于各式各樣的Web平臺自動化測試,其中特性不僅具有方便擴展、可跨平臺,還可支持多瀏覽器等。Selenium被諸多自動化Web測試框架所使用,最近幾年來已有眾多基于Selenium的Web自動化測試框架的研究成果逐漸被引起重視[3-4]。

在實際應用和實施過程中,自動化測試的框架與方法使用的越優良,其長期應用所取得的收益也就越顯著。其中自動化測試的核心技術主要是設計與使用自動化測試框架,不適用的測試框架不能順利開展良好的自動化測試,即造成人力成本輸出,也不能保障產品質量。

目前許多Web自動化測試框架都是以Seleniun為基礎實現的,在已有的Selenium框架上進行的進一步封裝。目前已設計運營的Web自動化測試框架仍具有編寫測試腳本代價高、不夠穩定等缺陷。在本文中設計了一種基于Selenium與Unittest的Web自動化測試框架,且運用到實際項目里進行驗證該測試框架的應用,在某種程度上提高了自動化測試的效率與穩定性。

1 Unittest與Selenium概述

Unittest[5-7]是一個基于Python自帶的單元測試框架,常用來做單元測試使用。也經常應用到UI自動化測試和接口自動化測試中,用來管理和維護測試用例腳本。其中Unittest模塊包含了如下幾個模塊:TestCase(測試用例),TestSuit(測試集或測試套件[8]),TestLoader(加載用例),TextTestRunner(執行用例)。能夠組織多個用例去執行(可以把多條測試用例封裝成一個測試套件,實現批量執行測試用例);提供了豐富的斷言方法,方便對用例執行的結果進行判斷;能夠生成HTML格式的測試報告;使用Fixture功能可以減少代碼的冗余。具體用例調用流程如圖1所示。

圖1 Unittes用例調用流程

Selenium為Web平臺提供了一系列測試方法的測試工具。與其他測試框架不同的是,它是直接運行在瀏覽器之中,用戶可以非常清楚地看到瀏覽器執行的每一步操作。工具的主要功能包括:測試與瀏覽器的兼容性,測試系統功能創建回歸測試檢驗軟件功能和用戶需求。框架的底層是采用JavaScript模擬用戶對瀏覽器的操作過程,測試腳本在瀏覽器之中的動作,直接從用戶的角度來測試程序。它的特點是簡單、易于操作,而且規避了瀏覽器兼容性問題。

Selenium[9-10]的核心是用JavaScript編寫的。這使得測試腳本可以在受支持的瀏覽器中運行。Selenium負責執行從測試腳本接收到的命令,測試腳本要么是用JavaScript編寫的,要么是使用一種受支持的編程語言編寫的。Selenium測試工具的起源是2004年,由一些開源愛好者編寫的JavaScript測試工具不斷完善而來。發展到現在,已經成為了一個非常高效強大的開源測試框架。目前仍然有很多公司和個人在使用Selenium框架并且相當多的機構也繼續為它提供支持。

其中Page Object是Selenium自動化測試項目開發實踐的最佳設計模式之一,通過對界面元素和功能模塊的封裝減少冗余代碼,同時在后期維護中,若元素定位或功能模塊發生變化,只需要調整頁面元素或功能模塊封裝的代碼,提高測試用例的可維護性。

2 基于Selenium與Unittest的Web自動化測試框架設計

2.1 自動化測試軟件環境搭建

自動化測試軟件環境搭建步驟下:

第一步:安裝Python3軟件,并添加對應安裝目錄到本機的環境變量。

第二步:Python3安裝后默認會通過pip install selenium安裝selenium2工具(pip.exe默認在python的Scripts路徑下)。

第三步:瀏覽器與相應瀏覽器驅動版本的安裝是Web平臺自動化測試前提條件,注意事項路徑中不要有中文。

第四步:PyCharm編譯工具安裝,進行編寫腳本,具有極為智能的填充功能,提高腳本編寫效率。依靠它進行智能代碼完成,動態錯誤檢查、快速修復和項目導航等。

2.2 自動化框架的設計流程

為了實現基于Selenium與Unittest的Web自動化測試框架,主要內容是4個基礎模塊設計,分別是頁面元素定位,基本功能方法的定義,測試用例設計與測試執行生成報告模塊。其具體設計流程如圖2所示。

圖2 自動化測試框架設計流程圖

模塊一:頁面元素定位是UI自動化的主要內容之一,不論哪一種UI自動化測試框架,或者什么結構驅動,都需要針對某一個元素來操作,定位準確簡潔是非常重要的。通過運用Selenium自動化測試項目開發實踐的設計模式Page Object,提高代碼和用例的可維護性。

模塊二:基本功能方法的定義包括基礎的截屏方法,郵件發送方法,查找最近的測試報告方法等,為后續測試用例設計與用例執行等提供方法支撐。

模塊三:測試用例設計引入Unittest單元測試框架設計測試用例,精簡代碼腳本,也更便于相關測試人員理解測試用例業務邏輯關系。

模塊四:測試執行生成報告,通過基本功能方法,利用Unittest框架中執行測試用例,生成測試報告,并發送最近測試報告給相關人員,對項目產品質量有一定的把控,進一步保障項目產品的質量。

3 Web自動化測試框架的應用

現以真實項目Web平臺測試為基礎,通過實行平臺自動化用例的設計與腳本編寫,對比框架使用前后的成本分析如表1所示。

表1 框架使用前后成本對比

在執行當中,該測試框架的測試優勢比較顯著,編寫代碼簡便、易懂,腳本更易于維護。不論是冒煙測試,還是全量測試,測試成本均減少了50%,單用例的維護成本下降了60%。每個測試用例執行后,該測試框架采用截圖方式保存本地,測試人員可根據結果截圖,并對應日志和業務需求快速進行預覽以定位問題,使得發現平臺問題更直觀。其中,每個版本測試的分析成本降低了75%,其缺陷發現率增加了近30%,數據表明通過使用該自動化測試框架,不僅減少了測試成本,還進一步提高了項目/產品質量。

具體應用樣例功能的詳細測試報告結果如圖3所示。該HTML測試報告通過定時任務可自動發送郵件給相關人員,用于監控項目/產品執行情況,并通過測試報告分析,從而進一步提升了Web應用的平臺質量。

圖3 Web應用自動化測試XML報告詳細結果圖

4 結論

本文實現了一種基于Selenium與Unittest的Web自動化測試框架,并實際應用在項目產品自動測試中,有效節省了測試人員資源成本,提高整體產品迭代回歸的速度,保證產品質量的穩定性。同時,隨著測試集群環境與業務需求的復雜多元化,一方面需要統一完整的自動化測試框架,另一方面需要減少自動化測試框架研發的開支,都必須進行深入的探求與研究工作。

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 久久亚洲精少妇毛片午夜无码 | 亚洲动漫h| 激情午夜婷婷| 亚洲午夜18| 久久国产黑丝袜视频| 亚洲欧美日韩成人高清在线一区| 欧美色伊人| 激情乱人伦| 日韩在线网址| 在线观看国产小视频| AV不卡在线永久免费观看| 任我操在线视频| 国产一线在线| 欧洲极品无码一区二区三区| 粗大猛烈进出高潮视频无码| 亚洲午夜久久久精品电影院| 亚洲天堂视频网| 久久毛片基地| 午夜毛片免费观看视频 | 国产三级国产精品国产普男人| 亚洲第一成人在线| 成年人免费国产视频| 欧美天堂久久| 国产性生大片免费观看性欧美| 色婷婷天天综合在线| 思思热在线视频精品| 婷婷亚洲天堂| 亚洲va欧美ⅴa国产va影院| 国产精品所毛片视频| 国产91精选在线观看| 日本久久网站| 中文字幕人成人乱码亚洲电影| 久久一本日韩精品中文字幕屁孩| 欧美精品色视频| 成人小视频网| 日本五区在线不卡精品| 亚洲视频免费在线| 久久性视频| 日韩成人在线网站| 日本免费一级视频| 日本五区在线不卡精品| 夜夜爽免费视频| 91在线精品麻豆欧美在线| 激情综合网址| 国产丝袜丝视频在线观看| 国产在线专区| 欧美 亚洲 日韩 国产| 国产精品私拍在线爆乳| 亚洲欧美日韩视频一区| 亚洲欧美天堂网| 国产专区综合另类日韩一区| 亚洲天堂区| 日韩视频精品在线| 色噜噜综合网| 99久久国产自偷自偷免费一区| 日韩精品免费一线在线观看| lhav亚洲精品| 欧美日本激情| 极品性荡少妇一区二区色欲| 在线观看91香蕉国产免费| 欧美日韩导航| 露脸真实国语乱在线观看| 国产嫖妓91东北老熟女久久一| 久久久久久高潮白浆| 精品中文字幕一区在线| 99精品伊人久久久大香线蕉| 欧美高清日韩| 久久精品国产亚洲麻豆| 91探花国产综合在线精品| 中文天堂在线视频| 又粗又硬又大又爽免费视频播放| 2020亚洲精品无码| 欧美成人免费一区在线播放| 素人激情视频福利| 国产麻豆精品久久一二三| 国产一区二区色淫影院| 浮力影院国产第一页| 国产精品无码制服丝袜| 日日拍夜夜操| 免费观看男人免费桶女人视频| 中文字幕久久亚洲一区| 老色鬼久久亚洲AV综合|