【技術(shù)實(shí)現(xiàn)步驟摘要】
本專(zhuān)利技術(shù)涉及計(jì)算機(jī),尤其涉及一種基于接口版本管理自動(dòng)更新測(cè)試用例的方法。
技術(shù)介紹
1、研發(fā)人員在進(jìn)行項(xiàng)目開(kāi)發(fā)前都需要編寫(xiě)接口文檔,隨著openai規(guī)范的普及,swagger也進(jìn)入了3.x階段,swagger?3.x指支持openapi?3.0規(guī)范的swagger工具版本,更加強(qiáng)調(diào)對(duì)于restful?api的支持和規(guī)范化,提供了更豐富和靈活的定義方式,并且可以用于自動(dòng)生成文檔、客戶(hù)端代碼、服務(wù)器代碼和測(cè)試工具等;
2、現(xiàn)階段大多數(shù)公司研發(fā)人員編寫(xiě)接口文檔都是使用swagger生成接口文檔,swagger基于openapi?3.0版本及以上生成swagger文檔;少部分研發(fā)人員使用word文檔編寫(xiě)接口文檔,而測(cè)試人員依賴(lài)開(kāi)發(fā)提供的swagger文檔編寫(xiě)測(cè)試用例;由于接口數(shù)量眾多且參數(shù)復(fù)雜,測(cè)試人員需手動(dòng)編寫(xiě)大量測(cè)試用例,耗時(shí)耗力,工作效率低下。
技術(shù)實(shí)現(xiàn)思路
1、本專(zhuān)利技術(shù)的目的是為了解決現(xiàn)有技術(shù)中存在的缺點(diǎn),而提出的一種基于接口版本管理自動(dòng)更新測(cè)試用例的方法。
2、為實(shí)現(xiàn)上述目的,本專(zhuān)利技術(shù)采用了如下技術(shù)方案:
3、一種基于接口版本管理自動(dòng)更新測(cè)試用例的方法,包括以下步驟:
4、s1:加載配置文件;
5、用戶(hù)自定義配置文件,所述配置文件包括swagger文檔的url地址和基礎(chǔ)環(huán)境信息;
6、所述配置文件為用戶(hù)可自定義存放于本地電腦的json文件;
7、通過(guò)python程序主入口加載配置文件并提取s
8、所述python程序主入口指python程序的入口文件,其中,入口文件遵循特定的命名規(guī)則。
9、s2:獲取swagger文檔并生成v1版本的swagger文檔;
10、根據(jù)配置文件中swagger文檔的url地址發(fā)起http請(qǐng)求,獲取swagger文檔;
11、將獲取的swagger文檔保存到本地,并在本地生成一個(gè)包含v1版本標(biāo)識(shí)的文檔,所述文檔的文件名唯一;
12、所述文件名的格式為:版本標(biāo)識(shí)+日期+自增序列號(hào)。
13、s3:解析swagger文檔并生成測(cè)試用例;
14、使用swagger-parser庫(kù)解析步驟s2中生成的包含v1版本標(biāo)識(shí)的文檔,解析為python對(duì)象,從解析后的python對(duì)象中提取api路徑和請(qǐng)求信息等;
15、所述請(qǐng)求信息包括請(qǐng)求方法、請(qǐng)求參數(shù)、預(yù)期結(jié)果等;
16、遍歷解析后的api路徑和請(qǐng)求信息,每個(gè)api接口生成唯一id作為標(biāo)識(shí)符;
17、使用requests庫(kù)構(gòu)建接口測(cè)試用例,每個(gè)接口測(cè)試用例包含api路徑、唯一id、請(qǐng)求方法、請(qǐng)求參數(shù)、預(yù)期結(jié)果;
18、將構(gòu)建的接口測(cè)試用例保存到接口測(cè)試用例集中。
19、s4:監(jiān)控swagger文檔變動(dòng);
20、包括如下子步驟:
21、s41:監(jiān)聽(tīng)swagger文檔更新事件;
22、使用watchdog庫(kù)監(jiān)聽(tīng)swagger文檔更新事件;
23、具體地,在watchdog庫(kù)中創(chuàng)建observer類(lèi),在observer類(lèi)中指定需要監(jiān)聽(tīng)的swagger文檔路徑,對(duì)所述swagger文檔進(jìn)行監(jiān)控;并在observer類(lèi)中重寫(xiě)on_modified函數(shù);當(dāng)swagger文檔被修改時(shí),則觸發(fā)on_modified方法,進(jìn)入步驟s42;
24、s42:獲取最新的swagger文檔并生成v2版本的文檔;
25、使用http?get請(qǐng)求獲取修改后的swagger文檔,并使用python程序的datetime組件獲取修改后的swagger文檔的時(shí)間戳,將所述swagger文檔保存為包含v2版本標(biāo)識(shí)的文檔;
26、所述文件名的格式為:版本標(biāo)識(shí)+日期+自增序列號(hào);
27、s43:檢查v1和v2版本的swagger文檔中的api路徑和請(qǐng)求信息是否發(fā)生變化;
28、包括如下子步驟:
29、s431:比較api路徑是否發(fā)生變化;
30、使用json庫(kù)解析v1和v2版本的swagger文檔,遍歷解析后的swagger文檔,分別提取v1和v2版本的swagger文檔的api路徑;
31、比較v1和v2版本的swagger文檔的api路徑是否相同,如果存在不同,則記錄發(fā)生變化的api路徑;
32、s432:比較請(qǐng)求方法是否發(fā)生變化;
33、使用json庫(kù)解析v1和v2版本的swagger文檔,遍歷解析后的swagger文檔,分別提取v1和v2版本的swagger文檔的請(qǐng)求方法;
34、比較v1和v2版本的swagger文檔的請(qǐng)求方法是否相同,如果存在不同,則記錄發(fā)生變化的請(qǐng)求方法;
35、s433:比較請(qǐng)求參數(shù)是否發(fā)生變化;
36、使用json庫(kù)解析v1和v2版本的swagger文檔,遍歷解析后的swagger文檔,分別提取v1和v2版本的swagger文檔的請(qǐng)求參數(shù);
37、比較v1和v2版本的swagger文檔的請(qǐng)求參數(shù)是否相同,如果存在不同,則記錄發(fā)生變化的請(qǐng)求參數(shù);
38、s44:更新接口測(cè)試用例;
39、在接口測(cè)試用例集中更新api路徑、請(qǐng)求方法、請(qǐng)求參數(shù)任一發(fā)生變化的接口測(cè)試用例。
40、s5:執(zhí)行接口測(cè)試用例;
41、執(zhí)行接口測(cè)試用例集中包含的接口測(cè)試用例,并記錄每個(gè)接口測(cè)試用例的執(zhí)行結(jié)果,將執(zhí)行結(jié)果與預(yù)期結(jié)果進(jìn)行比較,如果不一致,則得到測(cè)試結(jié)果為失敗案例;如果一致,則得到測(cè)試結(jié)果為成功案例。
42、s6:生成并發(fā)送測(cè)試報(bào)告;
43、通過(guò)beautifulsoup創(chuàng)建html格式的測(cè)試報(bào)告,所述測(cè)試報(bào)告中包含接口測(cè)試用例、執(zhí)行結(jié)果、測(cè)試結(jié)果;
44、使用smtplib組件將測(cè)試報(bào)告以郵件的形式發(fā)送給相關(guān)人員。
45、與現(xiàn)有技術(shù)相比,本專(zhuān)利技術(shù)的有益效果為:
46、本專(zhuān)利技術(shù)提出的一種基于接口版本管理自動(dòng)更新測(cè)試用例的方法,通過(guò)swagger文檔地址識(shí)別并監(jiān)控文檔的變化自動(dòng)生成測(cè)試用例,不需要測(cè)試人員手動(dòng)編寫(xiě)測(cè)試用例,提高了測(cè)試效率,縮減測(cè)試時(shí)間,減少人力成本;
47、本專(zhuān)利技術(shù)提供的方法能夠識(shí)別測(cè)試用例接口的版本變化,顯著提高了接口版本管理的效率和測(cè)試工作的準(zhǔn)確性;適用于需要頻繁更新接口版本的軟件開(kāi)發(fā)項(xiàng)目,特別是在微服務(wù)架構(gòu)和api驅(qū)動(dòng)的開(kāi)發(fā)環(huán)境中,能夠顯著提升接口管理和測(cè)試的效率與質(zhì)量。
本文檔來(lái)自技高網(wǎng)...【技術(shù)保護(hù)點(diǎn)】
1.一種基于接口版本管理自動(dòng)更新測(cè)試用例的方法,其特征在于:包括以下步驟:
2.如權(quán)利要求1所述的基于接口版本管理自動(dòng)更新測(cè)試用例的方法,其特征在于:
3.如權(quán)利要求1所述的基于接口版本管理自動(dòng)更新測(cè)試用例的方法,其特征在于:
4.如權(quán)利要求1所述的基于接口版本管理自動(dòng)更新測(cè)試用例的方法,其特征在于:
5.如權(quán)利要求1所述的基于接口版本管理自動(dòng)更新測(cè)試用例的方法,其特征在于:
【技術(shù)特征摘要】
1.一種基于接口版本管理自動(dòng)更新測(cè)試用例的方法,其特征在于:包括以下步驟:
2.如權(quán)利要求1所述的基于接口版本管理自動(dòng)更新測(cè)試用例的方法,其特征在于:
3.如權(quán)利要求1所述的基于接口版本管理...
【專(zhuān)利技術(shù)屬性】
技術(shù)研發(fā)人員:張楠,李濤,張召港,張文,張中磊,
申請(qǐng)(專(zhuān)利權(quán))人:魚(yú)快創(chuàng)領(lǐng)智能科技南京有限公司,
類(lèi)型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。