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
主站蜘蛛池模板: 91精品视频在线播放| 国产欧美视频在线| 亚洲精选无码久久久| 污网站免费在线观看| 91精品aⅴ无码中文字字幕蜜桃 | 制服丝袜在线视频香蕉| www精品久久| 99草精品视频| 一级看片免费视频| 潮喷在线无码白浆| 亚洲欧美不卡视频| 国产国产人成免费视频77777 | 99久久精品视香蕉蕉| 老色鬼久久亚洲AV综合| 国产丝袜丝视频在线观看| 一区二区三区高清视频国产女人| 国产精品对白刺激| 欧美成人午夜影院| 国产高清在线观看91精品| 国产福利免费视频| 亚洲精品在线影院| 亚洲综合欧美在线一区在线播放| 久久精品中文无码资源站| 国产69囗曝护士吞精在线视频| 亚洲精品在线观看91| 婷婷亚洲天堂| 国产精品香蕉| 无码视频国产精品一区二区| 91九色国产在线| 欧美综合成人| 黑人巨大精品欧美一区二区区| 亚洲国产精品VA在线看黑人| 亚洲av无码成人专区| 免费看美女自慰的网站| 国产高清在线丝袜精品一区| 99热最新在线| 女人18毛片一级毛片在线 | 久久国产av麻豆| 久久一级电影| 精品福利一区二区免费视频| 色综合日本| 久久久噜噜噜久久中文字幕色伊伊| 久久精品视频一| 久久99国产综合精品1| 九九久久精品免费观看| 欧美三級片黃色三級片黃色1| 91成人在线免费观看| 欧美一级高清视频在线播放| 精品国产免费人成在线观看| 免费人成黄页在线观看国产| 亚洲第一区精品日韩在线播放| 老司机aⅴ在线精品导航| 欧美日韩激情在线| 免费激情网址| 99精品视频九九精品| 欧美不卡视频在线| 日韩小视频在线观看| 国产熟睡乱子伦视频网站| 尤物特级无码毛片免费| 人妻21p大胆| 精品黑人一区二区三区| 国产成人无码久久久久毛片| 国内精自线i品一区202| 欧美区一区二区三| 国产真实乱子伦视频播放| 中国国语毛片免费观看视频| 中文字幕首页系列人妻| 九九久久精品免费观看| 99这里只有精品免费视频| 国产亚洲欧美在线视频| 国产精品无码AⅤ在线观看播放| 97精品国产高清久久久久蜜芽| 欧美视频在线观看第一页| 精品99在线观看| 试看120秒男女啪啪免费| 国产人人乐人人爱| 第一页亚洲| 小说区 亚洲 自拍 另类| 国产精品尤物在线| 亚洲第一区在线| 国产成人毛片| 国产精品香蕉在线|