最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于python實現(xiàn)智能用例生成工具

 更新時間:2023年09月08日 15:49:42   作者:海是倒過來的天~  
這篇文章主要為大家詳細(xì)介紹了如何基于python實現(xiàn)智能用例生成工具,即根據(jù)輸入的功能點,生成通用測試點,感興趣的小伙伴可以跟隨小編一起了解下

工具作用

根據(jù)輸入的功能點,生成通用測試點

實現(xiàn)步驟

工具實現(xiàn)主要分2個步驟:

1.https請求調(diào)用Gpt,將返回響應(yīng)結(jié)果保存為.md文件

2.用python實現(xiàn) 將 .md文件轉(zhuǎn)換成.xmind文件

3.寫個簡單的前端頁面,調(diào)用上述步驟接口

詳細(xì)代碼

1.調(diào)用gpt請求生成 md文件

import os
import requests
import json
"""測試數(shù)據(jù)路徑管理"""
SCRIPTS_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DATAS_DIR = os.path.join(SCRIPTS_DIR, "datas")
Testcase_md= os.path.join(DATAS_DIR,'testcase.md')
"""示例代碼"""
def sendGpt_getmd(content):
    # 設(shè)置請求頭中的token
    headers = {
        "Content-Type": "application/json"
    }
    # payload= 設(shè)置請求主體中的參數(shù)和數(shù)據(jù),根據(jù)請求的參數(shù)格式傳參即可
    payload = {"參數(shù)": "參數(shù)值"}
    # 發(fā)送POST請求
    response = requests.post("https://xxxxx", headers=headers,
                             data=json.dumps(payload))
    # 解析響應(yīng)結(jié)果
    if response.status_code == 200:
        result = response.text
        print(result)
        with open(Testcase_md, "w", encoding="utf-8") as f:
            f.write(result)
    else:
        print("請求失?。?)
if __name__ == '__main__':
  # 示例用法:keydes為功能標(biāo)題,casecontentTemp為發(fā)送給gpt的模板話術(shù),在使用時可以將keydes設(shè)置為變量,由前端傳參。另外可以根據(jù)需要修改casecontentTemp內(nèi)容
  # 僅包含一級標(biāo)題,二級標(biāo)題,無序列表格式的Markdown形式:該格式不可修改,因為后續(xù)需要以Markdown格式轉(zhuǎn)換成xmind文件
  keydes='上傳附件'
  casecontentTemp="僅包含一級標(biāo)題,二級標(biāo)題,無序列表格式的Markdown形式發(fā)送給我。請寫出 一級標(biāo)題為'"+keydes+"'的測試用例,包含功能測試(正向/逆向/異常場景),性能測試,安全測試,兼容測試"
  sendGpt_getmd(casecontentTemp)

2.將md文件轉(zhuǎn)換成xmind文件

通過步驟1,生成了md文件,以下代碼是將md文件轉(zhuǎn)換成xmind文件

import markdown
from bs4 import BeautifulSoup
import xmind
def md_to_xmind(md_file, xmind_file):
    # 讀取MD文件
    with open(md_file, 'r', encoding='utf-8') as f:
        md = f.read()
    # 解析MD文件
    html = markdown.markdown(md)
    # 創(chuàng)建XMind文件
    workbook = xmind.load(xmind_file)
    # 獲取根節(jié)點
    root_topic = workbook.getPrimarySheet().getRootTopic()
    # 遞歸添加節(jié)點
    def add_topic(parent_topic, node):
        # 添加節(jié)點
        topic = parent_topic.addSubTopic()
        title = node.get('title', '')
        topic.setTitle(title)
        # 添加文本
        if 'html' in node:
            topic.setPlainNotes(node['html'])
        # 遞歸添加子節(jié)點
        if 'children' in node:
            for child in node['children']:
                add_topic(topic, child)
    # 解析HTML,并添加節(jié)點
    soup = BeautifulSoup(html, 'html.parser')
    rootmap_node = {'children': []}
    root_node = None
    current_node = None
    for tag in soup.children:
        if tag.name == 'h1':
            # 創(chuàng)建根節(jié)點
            root_node = {'title': tag.string, 'children': []}
            current_node = root_node
        elif tag.name == 'h2':
            new_node = {'title': tag.string, 'children': []}
            root_node['children'].append(new_node)
            current_node = new_node
        elif tag.name == 'p':
            current_node['html'] = str(tag)
        elif tag.name == 'ul':
            for li in tag.children:
                text = li.text.strip()
                if len(text) > 0:
                    li_node = {'title': text, 'children': []}
                    current_node['children'].append(li_node)
        elif tag.name == 'ol':
            for li in tag.children:
                text = li.text.strip()
                if len(text) > 0:
                    li_node = {'title': text, 'children': []}
                    current_node['children'].append(li_node)
    # 添加節(jié)點
    for node in root_node['children']:
        add_topic(root_topic, node)
    # 修改根節(jié)點的名稱
    root_topic.setTitle(root_node['title'])
    # 保存XMind文件
    xmind.save(workbook, xmind_file)
if __name__ == '__main__':
  # 示例用法 example.md為步驟1生成的文件,通過md_to_xmind方法調(diào)用將.md文件轉(zhuǎn)換成xmind文件
  md_to_xmind('example.md', 'example.xmind')
 

3.合并步驟1,2后運行

import os
from scripts.datas.mdtoxmind import md_to_xmind
from scripts.datas.sendGpt import sendGpt_getmd
"""測試數(shù)據(jù)路徑管理"""
SCRIPTS_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DATAS_DIR = os.path.join(SCRIPTS_DIR, "datas")
Testcase_md= os.path.join(DATAS_DIR,'testcase.md')
Testcase_xmind= os.path.join(DATAS_DIR,'testcase.xmind')
def oneTocase(keydes):
   casecontentTemp="僅包含一級標(biāo)題,二級標(biāo)題,無序列表格式的Markdown形式發(fā)送給我。請寫出 一級標(biāo)題為'"+keydes+"'的測試用例,包含功能測試(正向/逆向/異常場景),性能測試,安全測試,兼容測試"
    sendGpt_getmd(casecontentTemp)
    md_to_xmind(Testcase_md, Testcase_xmind)
if __name__ == '__main__':
  # 示例用法
  keydes='上傳附件'
  oneTocase(keydes)

運行后結(jié)果:

生成對應(yīng)文件

打開后查看如下內(nèi)容

后期集成測試工具構(gòu)思

1.將詳細(xì)代碼中步驟3暴露出rest接口,供前端調(diào)用

2.前端頁面可提供出形成 通用工具

到此這篇關(guān)于基于python實現(xiàn)智能用例生成工具的文章就介紹到這了,更多相關(guān)python智能生成工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python快速實現(xiàn)一個線程池的示例代碼

    Python快速實現(xiàn)一個線程池的示例代碼

    當(dāng)有多個?IO?密集型的任務(wù)要被處理時,我們自然而然會想到多線程。而線程池的實現(xiàn)也很簡單,因為?Python?提供了一個標(biāo)準(zhǔn)庫?concurrent.futures,已經(jīng)內(nèi)置了對線程池的支持。所以本篇文章,我們就來詳細(xì)介紹一下該模塊的用法
    2022-07-07
  • Python語言描述KNN算法與Kd樹

    Python語言描述KNN算法與Kd樹

    這篇文章主要介紹了Python語言描述KNN算法與Kd樹,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Python優(yōu)化算法之遺傳算法案例代碼

    Python優(yōu)化算法之遺傳算法案例代碼

    優(yōu)化算法,尤其是啟發(fā)式的仿生智能算法在最近很火,它適用于解決管理學(xué),運籌學(xué),統(tǒng)計學(xué)里面的一些優(yōu)化問題,這篇文章主要介紹了Python優(yōu)化算法—遺傳算法,需要的朋友可以參考下
    2023-02-02
  • Django自帶的用戶驗證系統(tǒng)實現(xiàn)

    Django自帶的用戶驗證系統(tǒng)實現(xiàn)

    這篇文章主要介紹了Django自帶的用戶驗證系統(tǒng)實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python+PyQT5實現(xiàn)手繪圖片生成器

    Python+PyQT5實現(xiàn)手繪圖片生成器

    這篇文章主要介紹了利用Python PyQT5制作一個手繪圖片生成器,可以將導(dǎo)入的彩色圖片通過python分析光源、灰度等操作生成手繪圖片。感興趣的可以跟隨小編一起了解一下
    2022-02-02
  • Python為何不支持switch語句原理詳解

    Python為何不支持switch語句原理詳解

    這篇文章主要介紹了Python為何不支持switch語句原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Python實現(xiàn)語音識別和語音合成功能

    Python實現(xiàn)語音識別和語音合成功能

    聲音的本質(zhì)是震動,震動的本質(zhì)是位移關(guān)于時間的函數(shù),波形文件(.wav)中記錄了不同采樣時刻的位移。這篇文章主要介紹了Python實現(xiàn)語音識別和語音合成,需要的朋友可以參考下
    2019-09-09
  • Python中的Logging模塊在項目應(yīng)用小結(jié)

    Python中的Logging模塊在項目應(yīng)用小結(jié)

    Python標(biāo)準(zhǔn)庫中的logging模塊為我們提供了強大而靈活的日志記錄功能,本文將介紹如何使用logging模塊,并探討其在Python開發(fā)中的實際應(yīng)用,感興趣的朋友一起看看吧
    2024-04-04
  • Python的f-string使用技巧

    Python的f-string使用技巧

    Python很早就引入了一種稱為 f-string 的字符串格式化方法,它代表格式化字符串字面值,本文主要介紹了Python的f-string使用技巧,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 使用Pytorch+PyG實現(xiàn)MLP的詳細(xì)過程

    使用Pytorch+PyG實現(xiàn)MLP的詳細(xì)過程

    圖神經(jīng)網(wǎng)絡(luò)是最近 AI 領(lǐng)域最熱門的方向之一,下面這篇文章主要給大家介紹了關(guān)于使用Pytorch+PyG實現(xiàn)MLP的詳細(xì)過程,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03

最新評論

泾川县| 嵊州市| 兴业县| 防城港市| 茂名市| 龙州县| 高唐县| 茶陵县| 寻甸| 怀远县| 田东县| 沅江市| 昭通市| 满城县| 淮安市| 宝清县| 双鸭山市| 田东县| 察隅县| 犍为县| 甘泉县| 南雄市| 太湖县| 南投县| 田东县| 武安市| 洪雅县| 扎鲁特旗| 桃园市| 忻城县| 东兴市| 德清县| 嘉义市| 隆林| 瓮安县| 鹤庆县| 云龙县| 弥渡县| 论坛| 成都市| 福清市|