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

接口自動化測試框架設計優化與實現

2021-04-22 17:09:01孫立哲
電腦知識與技術 2021年8期

摘要:隨著瀏覽器技術的迭代更新,文檔對象技術在一些主流瀏覽器版本中不再受支持,前期設計的輕量級接口自動化測試框架中結果統計分析與展示模塊因而功能不能正常使用。基于此,本文對前期設計的輕量級接口自動化測試框架做了一定的設計優化,將用于記錄測試用例及結果的XML文件結構設計優化為MySQL數據庫表結構設計,將測試執行模塊寫數據入XML文件優化為寫數據庫表,將結果統計分析與展示模塊由前端JS讀取XML文件數據優化為后端JSP讀取數據庫表數據。經驗證測試,優化后的測試框架不再受文檔對象技術的限制,實用性更佳,能在較主流的幾款瀏覽器中正常使用,是一種有效的技術替代方案。

關鍵詞:自動化測試框架;設計優化;動態Web技術;JSP;MySQL

中圖分類號 TP311? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)08-0212-03

Abstract: With the iterative update of technology, document object technology is no longer supported in some browsers, thus the function of the statistical analysis and presentation module in the interface automation test framework designed in the early stage is affected. Based on this, this paper made some optimization for the automation test framework, such as with MySQL database table structure design replacing the XML file, with writing data into database table replacing into file, with reading data from database table by back-end JSP replacing from file by front-end JS. The optimized test framework is no longer limited by browser document object technology and has better usability, could be used in a few more mainstream browsers and is an effective technical alternative.

Key words: automation test framework; design optimization; dynamical Web technology; JSP; MySQL

前期針對某后端服務產品接口多、內部處理邏輯復雜且版本迭代頻繁的情況,為了實現短時間快速測試,基于面向對象技術、Web開發技術等設計并實現了一套較實用的輕量級接口自動化測試框架[1]。該框架由兩大部分組成,一是基于面向對象技術和XML文檔DOM開發等技術的自動化測試執行模塊,主要實現了對測試數據批量配置、測試腳本設計、測試腳本批量執行以及自動生成XML格式的測試結果數據文件。另一部分是集XML、HTML、CSS和JS等集成開發技術的測試結果統計分析與展示模塊,主要實現對測試結果文件內數據的統計分析并以Web頁面形式作個性化展示。在瀏覽器支持文檔對象技術的情況下,該框架能表現出較好的實用性。但隨著瀏覽器版本的迭代,文檔對象技術不再受支持,如Microsoft Edge 84.0.522.52和Firefox 78.0b6,因此該框架部分功能無法正常使用。為了解決該問題,本文對該框架作了技術優化,將用于記錄測試用例及結果等數據的XML文件設計改為MySQL數據庫表設計[2-3],將測試執行模塊寫數據入XML文件改為寫入數據庫表,將結果統計分析與展示模塊由前端JS讀取XML文件數據改為后端JSP[4]讀取數據庫表數據。優化后自動化測試框架的結果統計分析與展示模塊功能在Microsoft Edge 84.0.522.52、Google Chrome 84.0.4147.105和Firefox 78.0b6等幾款主流瀏覽器新版中可正常使用,是一種較好的替代方案。

1 優化前后整體設計對比

優化前,整套測試框架部署在客戶端。在客戶端Eclipse平臺執行測試執行模塊,測試執行模塊中以接口為單位對測試用例作分類設計與實現,測試執行時以一個接口為一個測試集分類執行各測試用例,并將測試用例及結果等數據按測試集分類寫入本地XML文件。測試執行結束后,在本地瀏覽器中打開HTML文件,加載本地的CSS文件,通過本地JS文件腳本讀取XML文件做統計分析并動態更新HTML文件內容實現個性化展示。

優化后整套框架分前端客戶端程序、后端MySQL數據庫服務和后端Web動態JSP頁面服務[5]。與優化前一致,前端客戶端執行測試執行模塊,區別是將測試用例及結果等數據寫入后端MySQL服務器數據庫表,測試執行結束后,在前端瀏覽器中訪問部署在遠程Web服務器上的動態JSP頁面來瀏覽測試結果及數據,JSP頁面訪問MySQL數據庫,對表中數據做統計分析,并與CSS結合實現樣式個性化展示。CSS文件與優化前一致。優化后接口自動化測試框架部署如圖1所示。

2 優化前后具體設計實現對比

2.1 數據庫表結構設計

優化前,以XML文件存儲測試用例及結果數據。XML文件根元素包含各測試集元素,一個測試集元素對應一個接口,以接口名作為測試集元素的唯一性標識屬性,測試集元素下包含與該接口對應的所有測試用例元素,以測試用例名作為測試用例元素的唯一性屬性標識,測試用例元素下包含該測試用例所對應的接口請求數據元素、接口響應數據元素、接口測試結果元素。

優化后,數據庫表及字段設計與優化前的XML文件數據結構相對應,包括測試集表和測試用例表。測試集表包含主鍵唯一自增id字段和testSuiteId字段。其中testSuiteId字段用于存儲測試集名,對應優化前XML文件中測試集元素的唯一性標識屬性。測試用例表用于存儲各測試集下的測試用例及其與測試集表中某測試集的關聯關系,包含主鍵唯一自增id字段、testCaseId字段、testSuite_id字段、reqStr字段、resStr字段、result字段。testCaseId字段表示測試用例名,對應優化前測試用例元素的唯一性屬性標識。testSuite_id字段表示該測試用例所屬測試集,與測試集表中id字段關聯。reqStr字段、resStr字段、result字段表示某測試用例對應的接口請求數據、接口響應數據、接口測試結果。result字段值為Pass表示該測試用例接口功能測試成功,Fail表示該測試用例接口功能測試失敗。MySQL索引的合理創建可提高數據庫表數據的查詢檢索速度,創建索引時,需確保該索引是應用在 SQL 查詢語句的條件[6]。對測試用例集表數據做統計分析時,需要匯總統計每個測試集下所有測試用例并統計其中成功的用例數和失敗的用例數,統計查詢條件是testSuite_id字段和result字段,因此,對testSuite_id字段和result字段創建復合索引,從而提高統計查詢執行速率。復合索引只有在字段順序與查詢條件順序一致時才有效果,因此,兩個字段在復合索引中的次序與統計分析模塊中對數據庫表的查詢條件次序一致。

2.2 測試執行模塊設計優化與實現

優化前,測試執行模塊在執行前新建XML文件并獲取文檔根元素,在每個測試集執行前以接口名為測試集元素唯一性屬性,將測試集元素作為文檔根元素的子元素寫入文件,在測試集下每個測試用例執行前以測試用例名為測試用例元素唯一性屬性,以該測試用例對應的接口請求數據、響應數據、測試結果分別作為該測試用例元素的三個子元素,將該測試用例元素作為其所屬測試集元素的子元素寫入文件。

優化后,在.properties屬性文件中配置MySQL數據庫訪問配置信息。測試執行模塊在執行前,讀取配置文件中數據庫訪問配置并建立MySQL數據庫靜態連接[8]。在每個測試集執行前以接口名為testSuiteId字段值,用數據庫靜態連接向測試集表插入一行數據。在每個測試用例執行前以測試用例名作為testCaseId字段值、以該測試用例所屬測試集在測試集表中的id字段值作為testSuite_id字段值、以對應接口請求數據、響應數據、測試結果分別作為reqStr字段值、resStr字段值、result字段值,向測試用例表插入一行數據。測試執行過程中,測試集表中將收集并存儲所有接口的接口名,測試用例表中將收集并存儲每個測試集下的所有測試用例。所有測試執行結束后,關閉數據庫連接。

2.3 結果統計分析與展示模塊設計優化與實現

優化前,結果統計分析與展示模塊由HTML文件、CSS文件、JS文件和XML文件構成,全部在前端客戶端部署并執行。XML文件是數據源。HTML文件定義結果展示主界面整體布局,主要由概要區、結果匯總區、結果細節區構成,概要區以表格形式展示測試用例總數、用例成功總數和用例失敗總數。結果匯總區以表格形式展示各測試集名及其下所含測試用例總數、用例成功總數和用例失敗總數,其中測試集名為超鏈接。結果細節區默認隱藏,點擊某個測試集名超鏈接后,結果細節區顯現且以表格形式顯示該測試集下所有測試用例及結果詳情。主界面整體層疊樣式通過引入CSS文件定義,部分樣式及子區域通過引入的JS文件根據統計結果作個性化動態更新,各區內的數據通過JS腳本根據對XML文件數據做統計分析后的結果作動態更新。前端客戶端瀏覽器訪問HTML文件,以個性化Web頁面的形式查看所有測試集下的匯總結果以及每個測試集下所有測試用例及結果詳情。

優化后,統計分析與展示模塊由后端MySQL數據庫表和后端基于JSP文件與CSS文件的動態Web服務構成。前端瀏覽器中訪問后端Web服務主界面JSP文件查看測試結果。統計分析與展示模塊與測試執行模塊共用測試框架數據庫表,測試執行模塊將測試集和測試用例及結果等數據寫入數據庫表,統計分析與展示模塊讀取數據庫表數據做統計分析。JSP文件分主界面JSP文件和結果細節JSP文件。主界面JSP文件中定義的整體布局與優化前HTML文件中定義的基本一致,唯一區別是結果細節區不再在主界面下方顯示,而是以彈出新頁面的方式跳轉到結果細節JSP文件。主界面整體層疊樣式的處理機制與優化前一致。主界面概要區、結果匯總區各表格數據通過JSP腳本訪問數據庫表經統計查詢后作動態更新。查詢測試用例表中用例總數、用例成功數、用例失敗數,并更新概要區表格數據。查詢測試集表中所有測試集,以一個測試集為一行,在結果匯總區表格中增加各測試集行,在測試用例表中根據測試用例表與測試集表的關聯字段testSuite_id以及result字段查詢各測試集下的用例總數、用例成功數、用例失敗數,并更新結果匯總區表格數據。

結果細節JSP文件主要包括結果細節區,在結果細節區以表格形式顯示某測試集下的所有測試用例細節信息。在主界面結果匯總區點擊某個測試集名超鏈接跳轉到結果細節JSP文件時,將測試集名在測試框架數據庫測試集表中對應的id字段值作參數傳入。結果細節JSP文件根據傳入的測試集id字段值查詢屬于該測試集的所有測試用例,以一條用例為一行,在結果細節區表格中增加各測試用例行,并將測試用例名、請求串數據、響應串數據、用例執行結果更新到結果細節區表格。

3 優化前后結果統計分析與展示模塊頁面效果對比

優化前,測試框架中結果展示主界面在Firefox 67.0b9版瀏覽器中正常加載后概要區和結果匯總區顯示效果如圖2所示。

優化前,測試框架中結果展示主界面在Firefox 78.0b6版瀏覽器中無法正常加載時概要區和結果匯總區顯示異常效果如圖3所示。

優化后,在瀏覽器中訪問測試框架中部署在遠程Web服務上的主界面JSP文件,主界面JSP概要區和結果匯總區在新版Firefox 78.0b6瀏覽器中可正常顯示,顯示效果與圖2一致。點擊某個測試集名后彈出的新頁面中結果細節區顯示效果如圖4所示。

4 結語

隨著瀏覽器技術的迭代更新,文檔對象技術不再受支持,前期設計的接口自動化測試框架中部分功能使用受到影響。為了解決該問題,本文對該自動化測試框架做了設計優化,將用于數據存儲的XML文件以MySQL數據庫表代替,將測試執行模塊寫XML文件改為寫數據庫表,將結果統計分析與展示模塊由前端JS讀取XML文件數據改為后端JSP讀取數據庫表數據。優化后的測試框架能在Microsoft Edge 84.0.522.52、Google Chrome 84.0.4147.105和Firefox 78.0b6等中正常使用,有更好的實用性和瀏覽器版本兼容性。

參考文獻:

[1] 孫立哲.輕量級接口自動化測試框架設計與實踐[J].計算機應用與軟件,2020,37(1):27-30,36.

[2] Oracle. MySQL Reference Manual[EB/OL]. https://dev.mysql.com/doc/refman/5.6/en/column-indexes.html.

[3] 唐漢明.深入淺出MySQL[M].北京:人民郵電出版社,2014.

[4] Oracle. JavaServer Pages Technology [EB/OL].https://www.oracle.com/java/technologies/jspt.html.

[5] 陳丹丹.JSP項目開發全程實錄[M].北京:清華大學出版社,2013.

[6] Baron S,Peter Z,Vadim T. 高性能MySQL[M]. 寧海元,周振興,彭立勛,等譯. 北京:電子工業出版社,2013:141-193.

[7] 黃威,聶藩,丁建完.關鍵字驅動的測試自動化框架模型與系統實現[J].計算機技術與發展,2012,22(4):57-60,64.

[8] Cay S Horstmann. Java核心技術[M]. 11版.林琪,蘇玨涵,等,譯.北京:機械工業出版社,2019.

【通聯編輯:梁書】

主站蜘蛛池模板: 国产偷国产偷在线高清| 毛片手机在线看| 91精品啪在线观看国产91九色| 毛片免费高清免费| 久久精品视频一| 天堂网国产| 国产女人18毛片水真多1| 88国产经典欧美一区二区三区| 免费在线一区| 国产视频入口| 99热这里只有精品久久免费| 国产精品护士| 亚洲网综合| 毛片三级在线观看| 大学生久久香蕉国产线观看| 久综合日韩| 亚洲自偷自拍另类小说| 亚洲无码视频图片| 亚洲人妖在线| 在线观看精品国产入口| 成人国产三级在线播放| 精品无码一区二区三区电影| 午夜一区二区三区| 亚洲区一区| 欧美亚洲国产精品久久蜜芽| 国产成人精品2021欧美日韩 | 欧美日韩另类在线| 五月天丁香婷婷综合久久| 毛片免费观看视频| 欧美一级99在线观看国产| 国产女人水多毛片18| 国产一级二级在线观看| 成人免费一区二区三区| 谁有在线观看日韩亚洲最新视频| 欧美成人怡春院在线激情| 久久永久视频| 欧美性色综合网| 91久久国产综合精品| 国产无套粉嫩白浆| 欧美乱妇高清无乱码免费| 美女黄网十八禁免费看| 亚洲欧美日韩成人在线| 免费无码又爽又黄又刺激网站| 亚洲欧美不卡| 看国产一级毛片| 久久亚洲国产视频| 国内老司机精品视频在线播出| 亚洲成a人片在线观看88| 午夜日b视频| 成人国产免费| 不卡无码网| 91成人免费观看在线观看| 2021国产精品自拍| 91九色最新地址| 大学生久久香蕉国产线观看| 麻豆国产精品| 欧美激情视频一区| 亚洲综合国产一区二区三区| 免费亚洲成人| 日本欧美在线观看| 成人小视频在线观看免费| 国产91小视频在线观看| 欧美午夜精品| 激情无码视频在线看| 亚洲欧洲国产成人综合不卡| 一本综合久久| 麻豆国产精品一二三在线观看| 亚洲黄色网站视频| 国产成年女人特黄特色毛片免| 孕妇高潮太爽了在线观看免费| 久久国产高清视频| 欧美啪啪一区| 综合社区亚洲熟妇p| 亚洲欧美精品一中文字幕| 67194成是人免费无码| 国产精品19p| 欧美精品综合视频一区二区| 国产成人av一区二区三区| 婷婷亚洲视频| 成人亚洲视频| 国产精品视频999| 亚洲男人天堂2020|