• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于接口版本管理自動(dòng)更新測(cè)試用例的方法技術(shù)

    技術(shù)編號(hào):44291234 閱讀:13 留言:0更新日期:2025-02-14 22:25
    本發(fā)明專(zhuān)利技術(shù)提供一種基于接口版本管理自動(dòng)更新測(cè)試用例的方法,包括以下步驟:S1:加載配置文件;S2:獲取Swagger文檔并生成V1版本的Swagger文檔;S3:解析Swagger文檔并生成測(cè)試用例;S4:監(jiān)控Swagger文檔變動(dòng);S5:執(zhí)行接口測(cè)試用例;S6:生成并發(fā)送測(cè)試報(bào)告;本發(fā)明專(zhuān)利技術(shù)提出的一種基于接口版本管理自動(dòng)更新測(cè)試用例的方法,通過(guò)swagger文檔地址識(shí)別并監(jiān)控文檔的變化自動(dòng)生成測(cè)試用例,不需要測(cè)試人員手動(dòng)編寫(xiě)測(cè)試用例,提高了測(cè)試效率,減少人力成本;本發(fā)明專(zhuān)利技術(shù)提供的方法能夠識(shí)別測(cè)試用例接口的版本變化,顯著提高了接口版本管理的效率和測(cè)試工作的準(zhǔn)確性;適用于需要頻繁更新接口版本的軟件開(kāi)發(fā)項(xiàng)目。

    【技術(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程序主入口加載配置文件并提取swagger文檔的url地址和基礎(chǔ)環(huán)境信息;

    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ó)別省市:

    網(wǎng)友詢(xún)問(wèn)留言 已有0條評(píng)論
    • 還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 中文字幕人妻无码专区| 亚洲熟妇无码八AV在线播放| 熟妇人妻无码xxx视频| 午夜精品久久久久久久无码| 久久精品无码一区二区三区日韩| 亚洲AV无码国产精品色午友在线 | 亚洲日韩精品无码专区网址| 亚洲va无码va在线va天堂| 在线观看亚洲AV每日更新无码| 中文无码AV一区二区三区| 伊人久久大香线蕉无码| 无码专区中文字幕无码| 国产成人亚洲综合无码| 久久久精品天堂无码中文字幕| 亚洲av日韩av无码| 日韩精品无码一区二区视频| 日韩av片无码一区二区不卡电影| 无码人妻一区二区三区在线视频| 无码日本精品XXXXXXXXX| 无码aⅴ精品一区二区三区浪潮 | 国产午夜无码片在线观看| 在线观看免费无码专区| 亚洲伊人成无码综合网| 亚洲a∨无码精品色午夜| 免费无码VA一区二区三区| 亚洲成AV人片在线播放无码| 九九久久精品无码专区| 日韩少妇无码喷潮系列一二三| 无码精品A∨在线观看免费| 亚洲Av无码精品色午夜| 无码人妻精品中文字幕| av无码人妻一区二区三区牛牛| 好硬~好爽~别进去~动态图, 69式真人无码视频免 | 高清无码午夜福利在线观看| 亚洲AV无码乱码在线观看富二代| 国产成年无码AV片在线韩国 | 亚洲中文字幕无码一区二区三区| 久久久久久无码国产精品中文字幕| 无码熟妇αⅴ人妻又粗又大| 狠狠久久精品中文字幕无码| 少妇无码太爽了不卡视频在线看 |