国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼

這篇具有很好參考價值的文章主要介紹了【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

  • ??專注于分享軟件測試干貨內容,歡迎點贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正!
  • ??交流討論:歡迎加入我們一起學習!
  • ??資源分享:耗時200+小時精選的「軟件測試」資料包
  • ?? 最困難的時候,也就是我們離成功不遠的時候!

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試

theme: fancy
highlight: arta

項目介紹

接口自動化測試項目2.0

軟件架構

本框架主要是基于 Python + unittest + ddt + HTMLTestRunner + log + excel + mysql + 企業(yè)微信通知 + Jenkins 實現的接口自動化框架。

前言

公司突然要求你做自動化,但是沒有代碼基礎不知道怎么做?或者有自動化基礎,但是不知道如何系統(tǒng)性的做自動化,
放在 excel 文件中維護,不知道如何處理多業(yè)務依賴的邏輯,又或者你想想postman一樣可以給每一條測試用例編寫一些代碼來處理腳本,但是又不知道怎么做。
那么 gitee 中勇哥的自動化測試框架,將為你解決這些問題。

框架優(yōu)勢

本框架不收取汾河費用,其優(yōu)勢在于測試人員直接編寫測試用例,運行一個測試文件就可以自動執(zhí)行所有測試用例。

框架主要使用 python 語言編寫,結合 unittest 進行二次開發(fā),用戶僅需要在 excel 文件中編寫測試用例,
編寫成功之后,會自動生成測試用例的代碼,零基礎代碼小白,也可以操作。

本框架支持多環(huán)境切換,多業(yè)務接口依賴,mysql 數據庫斷言和 接口響應斷言,并且用例直接在 excel 文件中維護,無需編寫業(yè)務代碼,
本框架支持動態(tài)腳本函數擴展,可以隨時內部預置函數,或者增加動態(tài)腳本,通過固定格式寫法 {{fun()}} 動態(tài)調用
接口 unittest 框架生成 HTML 報告及 excel 用例執(zhí)行報告,并且發(fā)送 企業(yè)微信通知/ 釘釘通知/ 郵箱通知/ 飛書通知,靈活配置。

實現功能

測試數據隔離, 實現數據驅動。
支持多套環(huán)境使用,比如測試用例相同,但是環(huán)境不同,只需在 excel 中啟用需要執(zhí)行的環(huán)境即可。
支持多接口數據依賴: 如A接口需要同時依賴 B、C 接口的響應數據作為參數,或者 c 接口斷言需要動態(tài)使用A接口的入參作為預期結果。
數據庫斷言: 直接在測試用例中寫入查詢的 sql 即可斷言,無需編寫代碼。
動態(tài)多斷言: 如接口需要同時校驗響應數據和 sql 校驗,支持多場景斷言。
支持自定義腳本代碼(python語言),可以讓你像 postman 一樣給每一條測試用例編寫任意前后置腳本代碼,內置了 action
對象操作及一些方法可以很便捷的處理前置或后置腳本。
自動生成用例代碼: 測試人員在 excel 文件中填寫好測試用例, 程序可以直接生成用例代碼,純小白也能使用。
支持自定義拓展函數: 如用例中需要使用自己實現的函數,可以隨時在指定的目錄下面寫上函數,通過 {{func(*args,**kwargs)}}
隨時調用你自己設置的函數。
內置實現了一部分隨意函數及自定義常用函數:如:隨機字符串、任意日期時間、隨機gps、隨機用戶身份證、地址、郵箱、企業(yè)信息等等,用戶還可以自己定義任意函數,無門檻使用。
統(tǒng)計接口的運行時長: 拓展功能,訂制開關,可以決定是否需要使用。
支持用例定時器運行,比如:B用例執(zhí)行前需要A用例執(zhí)行后等待5秒才開始執(zhí)行,可以隨意加上等待時間。
日志模塊: 打印每個接口的日志信息,同樣訂制了開關,可以決定是否需要打印日志。
釘釘、企業(yè)微信通知、郵件通知: 支持多種通知場景,執(zhí)行成功之后,可選擇發(fā)送釘釘、或者企業(yè)微信、郵箱通知。
封裝了發(fā)送MQTT的類,支持發(fā)送MQTT消息。
支持導入postman或者swargs導出的json文件自動處理成測試用例,然后修改一下參數即可使用。

gitee 地址

接口自動化框架地址:關注文末公眾號自取

遇到問題

請仔細閱讀文檔,文檔中幾乎可以幫你避免所有的問題

目錄概覽:

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試

詳細目錄結構

.
└── cases/ // 測試用例數據文件夾
    └── cases/ // 測試用例
        └── test_cases.xlsx
    └── templates/ // 測試用例模板
        └── template.xlsx
    └── temporary_file/ // swagger| postman 導出的 json文件存放位置
        └── openapi.json
        └── postman.json
└── common/ // 配置及核心功能代碼
    └── bif_functions/ // 內置函數工具
        └── __init__.py
        └── bif_datetime.py // 內置日期時間函數
        └── bif_hashlib.py // 內置hash 函數
        └── bif_json.py // 內置json解析函數
        └── bif_list.py // 內置列表操作函數
        └── bif_random.py // 內置隨機函數
        └── bif_re.py // 內置正則函數
        └── bif_str.py // 內置字符串函數
        └── bif_time.py // 內置時間函數
        └── random_tools.py // 內置其他隨機函數
    └── crypto/ // 加密工具
        └── __init__.py
        └── encrypt_data.py // 執(zhí)行數據加密封裝入口
        └── encryption_aes.py // aes 加密
        └── encryption_base64_to_image.py // base64 轉圖片工具
        └── encryption_main.py // 執(zhí)行加入函數入口,對應excel中的加密方法選項,結合 extensions 中的 sign 可自定義加密規(guī)則
        └── encryption_rsa.py // rsa 加密
        └── encryption_str.py // 常用的字符串加密工具函數
    └── data_extraction/ // 數據提取器
        └── __init__.py
        └── analysis_json.py // json 字典分析函數,類似 jsonpath
        └── assert_dict.py // 舊斷言字段函數 (暫時舍棄)
        └── data_extractor.py // 數據提取函數
        └── dependent_parameter.py // 數據替換函數
        └── dict_get.py // 舊路徑提取函數
    └── database/ // 數據庫操作工具
        └── __init__.py
        └── execute_sql_files.py // sql 批處理工具
        └── mongodb_client.py // mongoDB 操作工具
        └── mysql_client.py // mysql 操作工具
        └── psycopg_client.py // presto 操作工具      
        └── redis_client.py // redis 操作工具
    └── file_handling/ // 文件操作
        └── __init__.py
        └── do_excel.py // excel 處理
        └── excel.py // excel 處理
        └── file_utils.py // json、yarm等文件操作以及一些目錄操作
    └── http_client/ // http_client 發(fā)送http的工具
        └── __init__.py
        └── http_client.py // http 請求封裝
    └── MQclient/ // MQ 工具
        └── __init__.py
        └── mqtt_client.py // mqtt 工具
        └── rabbit_mq_client.py // rmq 工具
    └── random_tools/ // 常用隨機數工具包
        └── credit_cards/ // 隨機銀行卡
            └── __init__.py
            └── bankcard.py
            └── cardbin.csv
        └── credit_identifiers/ // 隨機企業(yè)唯一信用代碼
            └── __init__.py
            └── address.json
            └── credit_identifier.py
            └── unified_social_credit_identifier.py
        └── emails/ // 隨機郵箱
            └── __init__.py
            └── email.py
            └── free_email.csv
        └── identification/ // 隨機身份證
            └── __init__.py
            └── area.csv
            └── id_card.py
        └── names/ // 隨機姓名
            └── __init__.py
            └── first_name_boy.csv
            └── first_name_girl.csv
            └── last_name.csv
            └── name.py
        └── phone_numbers/ // 隨機手機號
            └── __init__.py
            └── phone.py
            └── phone_area.csv
            └── __init__.py
    └── utils/ // 工具包
        └── __init__.py
        └── captcha.py // 識別圖片轉字符串,常用于驗證碼登錄
        └── load_and_execute_script.py // 動態(tài)加載自定義python文件工具
        └── logger.py // loggin 日志封裝
        └── mylogger.py // loguru 日志封裝
        └── parsing_openapi.py // 解析 swagger 文件 轉測試用例
        └── parsing_postman.py // 解析 postman 文件 轉測試用例
        └── singleton.py // 單例
        └── WxworkSms.py // 企業(yè)微信
    └── validation/ // 斷言及加載動條函數工具包
        └── __init__.py
        └── comparator_dict.py // 自定義比較器名詞釋義
        └── comparators.py // 自定義比較器
        └── extractor.py // 提取器
        └── load_modules_from_folder.py // 動態(tài)從模塊中加載函數
        └── loaders.py // 動態(tài)加載函數及加載內置比較器等工具包
    └── validator.py // 斷言校驗器
        └── __init__.py
    └── action.py // 核心類
    └── config.py // 配置文件
    └── variables.py // 數據操作類
└── extensions/ // 動態(tài)擴展模塊目錄
    └── __init__.py
    └── ext_method_online.py // 動態(tài)擴展方法模塊
    └── sign.py // 加簽模塊
└── image/
    └── wx.jpg
    └── zfb.jpg
└── OutPut/ // 日志報錯
    └── log/
        └── 2023-06-25.log
        └── 2023-07-04.log
        └── 2023-07-05.log
    └── reports/
        └── history.json
└── scripts/ // 動態(tài)腳本目錄
    └── __init__.py
        └── prepost_script_安全純凈大屏_2.py // 對應每條測試用例的前后置腳本(可選)
        └── request_script_sheetname_id.py
└── test_script/ // 測試腳本核心模塊
    └── __init__.py
    └── test_api.py
└── directory_tree.txt                      
└── excel_converter.py // postman、swagger 文件轉換主入口模塊
└── generate_tree.py // 項目目錄樹模塊
└── main_personal_information.py // 隨機個人信息核心入口
└── pipenv_command.text             
└── Pipfile     
└── Pipfile.lock    
└── README.md
└── run.py // 自動化測試執(zhí)行入口模塊
 

安裝教程

依賴庫

參考 pipenv --Pipfile 虛擬環(huán)境文件,不一一列出

首先,執(zhí)行本框架之后,需要搭建好 python 環(huán)境,python 環(huán)境搭建自行百度

安裝 pipenv環(huán)境: pip install pipenv
創(chuàng)建虛擬環(huán)境: pipenv install
如果有個別包無法安裝,則:pipenv shell 進入環(huán)境后,再pipenv install XX包

使用說明

測試用例只需要在 cases/cases/xxx.xlsx 文件填寫測試用例即可,可以參考測試用例模板文件,由于模板文件的用例已經做了敏感信息處理,所以執(zhí)行執(zhí)行模板的用例應該會報錯
運行用例可以直接進入到 test_script/test_xxx.py 中,執(zhí)行test_xxx.py文件,也可以直接運訓 最外層的 run.py文件,
Personalinformation.py 這個文件是用來生成一些測試數據,方便做功能測試或者其他一般性測試使用

開放測試接口文檔
大家可以使用開源接口中的登錄、個人信息、收藏(新增、查看、修改、刪除)等功能,編寫接口自動化案例,然后測試程序腳本
下方是接口文檔地址,大家可以自行查看(因為開源的接口,里面有些邏輯性的功能,如修改被刪除的網址接口并沒有過多的做判斷,
因此用例中只寫了一些基礎的場景,僅供大家參考。)

如何創(chuàng)建用例

excel中的測試用例相關字段介紹
下面是一個關于一個用例中的所有字段,字段不是全部必填

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
下面對每一個字段的作用,做出解釋:

Id:測試用例的id,唯一,必填
Name: 測試用例的名稱,必填
Description: 測試用例描述,可選,建議填寫,生成的報告會用到這個字段
Run: 是否運行這條用例,如果不填或填寫的不是YES/yes,則不運行這條用例
Time: 定時器,數字,非必填,填寫則會等待多少秒后運行這條用例
Method: 請求方法,支持所有的http請求方法,get/post/put/patch 等等
Url: 接口路徑或者整個請求地址,如果不帶域名,則會自動去init表中拼接host上去,Url中可以參數化,如:
/test/api/get/{{id}}/{{func(*args,**kwargs)}}
Headers: 請求頭,字典填寫方式,如:{“Content-Type”:“application/json”,“token”:“{{token}}”,‘time’:‘{{timestamp()}}’}
Headers Crypto: 請求頭是否加密,可以自定義加密方式,然后這里輸入你的加密方法名即可,如 MD5\sha1 等
Query Str: 查詢字符串參數,也就是URL過長的時候,可以將URL后面的參數拆出來填寫在這里,字典的方式填寫,支持參數化
Request Data Type: 請求參數類型,有 json,file,params,data 等等這幾種
Request Data: 請求參數,字典形式填寫,支持參數化,如:{“projectId”:“{{projectId}}”,“tvSequence”:“{{random_string()}}”}
Setup Script: 前置腳本,可以直接寫 pthon 代碼,比如類,函數,等等,如果是函數,類一定要調用才會執(zhí)行。編寫方式示例:

# 可以寫類,可以寫函數,可以直接普通python語句,
def setup(action):
	print("獲取action示例的屬性", action.get_vars())
	# 更新屬性到action實例的屬性中
	action.update_vars("999", "99999")
	print("獲取所有的臨時變量", action.get_variable())
	print("將變量存到臨時變量表中以便后續(xù)用例{{key}}使用", action.update_variable("key", "value"))
	print("將函數存到臨時變量表,以便后面調用{{setup_func()}}也可以", action.update_variable("setup_func", setup))
 
 
# 調用方法
setup(action)

Request Data Crypto: 請求參數是否加密,可以填寫你需要的加密方式,如 MD5\sha1 等
Extract Request Data:提取請求參數的字段或整個請求參數字典,如:{“k”: “ . p r o j e c t I d " , " x " : " .projectId", "x": " .projectId","x":".data[0].age[3].a”}
Jsonpath: 提取響應結果的 jsonpath 表達式,示例:默認情況下若表達式結果只有一個值那么就存為字符串,如果表達式執(zhí)行結果有多個值,那么就存為列表,表達式填寫方式如下:
{“k”: “ . d a t a " , " x " : " .data", "x": " .data","x":".data[0].age[3].a”}
Regex: 正則表達式,填寫正則表達式字符串,示例: r’“id”: (\d+), “name”: “(\w+)”,’
Regex Params List:填寫一個列表(list),用來存正則表達式提取值的變量列表,如: [“a”, “b”],則表示用a,b 變量接收上面的正則表達式的返回值
Retrieve Value:python字典的取值方式,多條用分號間隔,如:name=data[0].name;ok=data[0].id;an=data[0].age[3].a
SQL:填寫增刪改查sql語句,字典的key是需要執(zhí)行的sql方法,值是sql語句,可以填寫多條,填寫格式示例:

{
  "insert": {
    "insert_data": "INSERT INTO users (name, age, email) VALUES ('John', 25, 'john@example.com');"
  },
  "select": {
    "select_data": "SELECT name, age, email FROM users WHERE age > 20;"
  },
  "delete": {
    "delete_data": "DELETE FROM users WHERE age > 30;"
  },
  "update": {
    "update_data": "UPDATE users SET age = 26 WHERE name = 'John';"
  }
}

Sql Params Dict:提取sql的結果,同jsonpath,如:{“name”: “ . s e l e c t . s e l e c t d a t a . n a m e " , " a g e " : " .select.select_data.name", "age": " .select.selectd?ata.name","age":".select.select_data.age”}
Teardown Script: 后置python腳本代碼,任意函數或者類,用例發(fā)送請求后會自動執(zhí)行該代碼
Expected:預期結果,寫法示例:[{“check”:“result.user.name”,“comparator”:“eq”,“expect”:“chenyongzhi”}]
or {“check”:“result.user.name”,“comparator”:“eq”,“expect”:“chenyongzhi”},支持的斷言比較方式有如下這些:

{
  "eq": "eq:實際值與期望值相等",
  "lt": "lt:實際值小于期望值",
  "lte": "lte:實際值小于或等于期望值",
  "gt": "gt:實際值大于期望值",
  "gte": "gte:實際值大于或等于期望值",
  "neq": "neq:實際值與期望值不相等",
  "str_eq": "str_eq:字符串實際值與期望值相同",
  "length_eq": "length_eq:實際值的長度等于期望長度",
  "length_gt": "length_gt:實際值的長度大于期望長度",
  "length_gte": "length_gte:實際值的長度大于或等于期望長度",
  "length_lt": "length_lt:實際值的長度小于期望長度",
  "length_lte": "length_lte:實際值的長度小于或等于期望長度",
  "contains": "contains:期望值包含在實際值中",
  "contained_by": "contained_by:實際值被包含在期望值中",
  "type_match": "type_match:實際值的類型與期望值的類型相匹配",
  "regex_match": "type_match:正則匹配(從字符串的起始位置匹配)",
  "regex_search": "regex_search:正則匹配(從字符串的任意位置匹配)",
  "startswith": "startswith:實際值是以期望值開始",
  "endswith": "endswith:實際值是以期望值結束"
}
  • Response: 響應結果,用例執(zhí)行后,會自動將結果回寫到這個excel中,查看測試結果,一目了然。

創(chuàng)建用例步驟
開始填寫測試用例前,先看看這個init表的字段,下面我會統(tǒng)一講解:

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
在 cases 文件夾下方創(chuàng)建被測模塊或者系統(tǒng),然后在系統(tǒng)下創(chuàng)建相關的 excel 用例(可以復制模板excel文件來填寫測試用例)
將測試用例路徑添加到 common 文件夾下的 config.py 文件中
進入 test_script/ 文件夾,在該文件夾下操作 test_api.py 文件將 test_file 變量地址替換為剛剛填寫的測試用例地址
excel 中的用例必須填寫用例 id,另外 init sheet 表照中的全局初始化數據字段 中的部分字段必須填寫如:

"""
# init 表中的字段
id: 序號
environment: 被測環(huán)境,建議填寫:如測試環(huán)境,開發(fā)環(huán)境,生產環(huán)境等等
host:域名地址,如:https://www.baidu.com,非必填,填寫了就會取這部分的地址與測試用例中的Url拼接發(fā)送請求 
path:一小部分的請求路徑,比如所有的接口可能都存在:/test/api 這種,就可以填寫上去,非必填
databases: 數據庫,非必填,{"host": "127.0.0.1","port": 3306,"database": "mysql","user":"root","password":"root@3306"}
sheets:你想執(zhí)行的sheet是哪一個,全部執(zhí)行就填寫 'all',部分執(zhí)行就填寫具體的sheet如["第一個sheet的名稱","第二個sheet的名稱"...]
initialize_data:初始化的一些固定參數,比如登錄賬號,密碼,等等都是基本不變的數據可以填寫這里,屬于全局變量,填寫方式字典{"{{username}}":"1234","{{pwd}}":"密碼"}
run: 決定使用的環(huán)境,值為yes表示用這個環(huán)境運行,有多個環(huán)境都填寫yes,只運行第一個yes
"""

以上都填寫完成,記得先關閉 excel,然后就可以單獨執(zhí)行 test_api.py 文件,或者直接運行 run.py主入口文件,生成HTML報告及excel測試報告

下面我們來看一下,如何創(chuàng)建用例

用例中相關字段的介紹

  • 下發(fā)截圖為 init 初始化基礎數據填寫用例

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試

  • init 中 sheets 內的列表排序是有作用的,執(zhí)行用例是按照列表內值排序執(zhí)行的。
  • 下方截圖就是 excel 用例 每個字段是否必填的描述

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
每條測試用例都可以自定義是否開啟,開啟則執(zhí)行,不開啟則跳過,默認執(zhí)行結果是通過
每一個sheet都可以隨意組合用例,不同sheet之間的變量參數可以共用(即變量全局的),不獨立設計,主要是考慮到分sheet只是為了方面管理用例,但是執(zhí)行依然是一次性全部執(zhí)行
目前沒有設計每一個sheet的最大用例條數,默認取excel最大數據量,如果發(fā)現最大數據量撐爆內存,建議分多個excel來寫測試用例
目前使用的生成器的方式讀取excel,主要是防止一次性內存被撐爆
測試報告是按照excel來生成的,測試報告的樣式沒有按模塊區(qū)分,實際上直接打開excel就可以看到報告結果了。
其他一些沒有多大作用的,通過率,跳過條數,通過條數,失敗條數等,沒有另外處理,全部由html的報告自動處理
下方截圖為關聯參數填寫示例

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試

常用的一些內置函數

所有的內置函數都在 common/bif_functions 這個包內,用戶可以自定義添加內置函數,設計內置函數一定要設計返回值,不能直接返回
None,貌似沒有對 None 特殊處理
以下是一些內置函數講解

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
這個MD5方法,一般都沒有使用,一般都是直接excel中是否使用【參數加密方式字段開關】來處理加密

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
內置函數使用,統(tǒng)一是 {{xxx()}},可以傳參數到()內,比如 {{token(999)}}

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試

  • 獲取一些時間戳方法,可以帶參數
  • Faker 庫里面的有些隨機數,需要更多自己添加就行了。
    【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
    用例中添加等待時間
    excel 字段中一個 Time,字段值設置為 數字,單位S

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
用例在執(zhí)行前,需要單獨執(zhí)行 sql 或者執(zhí)行后需要單獨執(zhí)行 sql,或者請求后立刻執(zhí)行 sql 并斷言 sql
excel 中有一個 method 字段,設置值為 sql 即可,后面的 SQL,SQL 變量字段按需填寫即可,一定要符合規(guī)范填寫
或者在請求的后面填寫 sql 語句及 sql 變量,都會默認先執(zhí)行 sql,再執(zhí)行請求。

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
setup setupclass teardown tearDownClass ?
其實這套代碼這些都可以不需要使用,也可以使用,定制一些初始化函數或者唯一登錄這樣用,做數據清晰操作?可以將sql寫excel,
或者單獨再excel種建立一個sheet來執(zhí)行sql也是可行的,方法很多,很靈活

postman或者swagger的文件怎么快速轉為測試用例?
本框架已經封裝好了解析函數,直接將postman文件導出,放到指定目錄
運行excel_converter.py文件,即可得到測試用例
非??旖菔∈?,不用一條一條復制粘貼

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
更換不同的數據庫?
目前內置有多種數據庫查鏈接方式,但是尚未使用起來,只是將mysql使用起來了,使用者如需要使用其他如 mongoDB 這類數據庫,
可以按 mysql 設計的方式去擴展這個數據庫以適應 excel測試用例編寫方式,也可以聯系作者處理

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
發(fā)送企業(yè)微信通知
可以根據需要,自由修改企業(yè)微信發(fā)送的模板等等信息

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
主函數執(zhí)行入口

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
日志打印裝飾器

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
日志打印結果示例:

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
基本數據

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
測試報告?
html 或者 excel 中 都有,直接自行使用查看吧

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
企業(yè)微信測試報告:

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
html測試報告:

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
統(tǒng)計用例運行時長?
統(tǒng)計了每條用例從請求發(fā)出到響應的時長,沒有統(tǒng)計其他時常信息,具體可以從 html 中查看

其他
本框架為2.0升級版本,升級之后的功能,現在基本上都是在 excel 中維護用例,無需測試人員編寫代碼,
和 1.0版本的區(qū)別在于,1.0版本也不需要測試人員寫代碼,但是斷言的方式比較生硬。
1.0版本已經集成到測試開發(fā)平臺,可以去平臺使用,具體gitee

獨立個人信息工具介紹
直接執(zhí)行 main_personal_information.py 文件就可以生成非常棒的測試數據
Python隨機生成個人信息, 包括姓名、性別、年齡、出生日期、身份證號、銀行卡號、電話、手機號、郵箱等信息。

生成隨機個人信息

PS D:\api-test-project> python .\main_personal_information.py                                                                                                                                                                                                 海省廣州市南
請輸入你需要生成的數據總數:10
+--------+------+------+------------+--------------------+----------------------+--------------+-------------+-------------------------+----------------------------------------+--------------------+                                                        門特別行政區(qū)
| 用戶名 | 性別 | 年齡 |    生日    |       身份證       |    銀行卡或信用卡    |     座機     |    手機號   |           郵箱          |                  地址                  |  統(tǒng)一社會信用代碼  |
+--------+------+------+------------+--------------------+----------------------+--------------+-------------+-------------------------+----------------------------------------+--------------------+                                                        西省張家港市
|  劉世  |  男  |  57  | 1965-07-21 | 342422196507219413 |  62263745016607204   | 0744-3715089 | 14705083324 |     liushi@tianya.cn    |    甘肅省遼陽縣沙灣海口街y座 180548    | 713101514054645086 |
| 龍清承 |  男  |  56  | 1966-08-21 | 342400196608212132 | 62284150185529051643 | 0893-4423648 | 13487550352 | longqingcheng@tianya.cn |    遼寧省玉珍市黃浦重慶街z座 401247    | 93421303115117882W |
|  劉嫻  |  女  |  37  | 1985-05-23 | 411023198505239964 | 6213058212589619696  | 0562-0004972 | 17303409666 |    liuxian@tianya.cn    |     福建省拉薩縣朝陽胡街X座 479131     | 92341122605351081N |
|  朱晨  |  男  |  55  | 1967-10-08 | 142733196710082991 |  45128971703439970   | 0375-7394954 | 18024463495 |     zhuchen@139.com     | 寧夏回族自治區(qū)秀云縣高坪任路Q座 544781 | 955205231604137955 |
| 許天有 |  男  |  51  | 1971-10-17 | 330901197110176212 |  62592648755593670   | 0973-8733227 | 13413236004 |     xutianyou@wo.cn     |    遼寧省天津市南長深圳路f座 952461    | 91120114649961877C |
|  陳錦  |  女  |  29  | 1993-02-12 | 452123199302128568 |  62260020819291645   | 0915-7410180 | 17509030433 |    chenjin@icloud.com   |    重慶市西安市沙灣廣州街G座 531384    | 92445302298701343Q |
+--------+------+------+------------+--------------------+----------------------+--------------+-------------+-------------------------+----------------------------------------+--------------------+

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試

最后的分享

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試

如果你想學習自動化測試,那么下面這套視頻應該會幫到你很多

如何逼自己1個月學完自動化測試,學完即就業(yè),小白也能信手拈來,拿走不謝,允許白嫖....

最后我這里給你們分享一下我所積累和整理的一些文檔和學習資料,有需要直接領取就可以了!

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試
以上內容,對于軟件測試的朋友來說應該是最全面最完整的備戰(zhàn)倉庫了,為了更好地整理每個模塊,我也參考了很多網上的優(yōu)質博文和項目,力求不漏掉每一個知識點,很多朋友靠著這些內容進行復習,拿到了BATJ等大廠的offer,這個倉庫也已經幫助了很多的軟件測試的學習者,希望也能幫助到你。

【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼,pytest,postman,測試工具,軟件測試,功能測試,自動化測試文章來源地址http://www.zghlxwxcb.cn/news/detail-773792.html

到了這里,關于【接口自動化測試項目2.0】unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Python自動化測試框架:Pytest和Unittest的區(qū)別

    Python自動化測試框架:Pytest和Unittest的區(qū)別

    pytest和unittest是Python中常用的兩種測試框架,它們都可以用來編寫和執(zhí)行測試用例,但兩者在很多方面都有所不同。本文將從不同的角度來論述這些區(qū)別,以幫助大家更好地理解pytest和unittest。 1. 原理 pytest是基于Python的assert語句和Python的自省特性實現測試框架,其原理是基于

    2024年02月10日
    瀏覽(28)
  • Python+Requests+Pytest+Excel+Allure 接口自動化測試項目實戰(zhàn)【框架之間的對比】

    Python+Requests+Pytest+Excel+Allure 接口自動化測試項目實戰(zhàn)【框架之間的對比】

    ? ? ? ? --------UnitTest框架和PyTest框架的簡單認識對比與項目實戰(zhàn)-------- 定義: Unittest是Python標準庫中自帶的單元測試框架,Unittest有時候也被稱為PyUnit,就像JUnit是Java語言的標準單元測試框架一樣,Unittest則是Python語言的標準單元測試框架。 Pytest是Python的另一個第三方單元測

    2024年02月09日
    瀏覽(94)
  • 接口測試 react+unittest+flask 接口自動化測試平臺

    目錄 1 前言 2 框架 2-1 框架簡介 2-2 框架介紹 2-3 框架結構 3 平臺 3-1 平臺組件圖

    2024年02月16日
    瀏覽(18)
  • Python接口自動化之unittest單元測試

    Python接口自動化之unittest單元測試

    以下主要介紹unittest特性、運行流程及實際案例。 一、單元測試三連問 1、 什么是單元測試? ? 按照階段來分,一般就是單元測試,集成測試,系統(tǒng)測試,驗收測試。單元測試是對 單個模塊 、 單個類 或者 單個函數 進行測試。 將訪問接口的過程封裝在函數里面; 接口測試就

    2024年02月07日
    瀏覽(22)
  • react+unittest+flask 接口自動化測試平臺

    目錄 1 前言 2 框架 2-1 框架簡介 2-2 框架介紹 2-3 框架結構 3 平臺 3-1 平臺組件圖 1 新建用例 2 生成測試任務 3 執(zhí)行并查看測試報告

    2024年02月17日
    瀏覽(28)
  • 簡單實現接口自動化測試(基于python+unittest)

    簡單實現接口自動化測試(基于python+unittest)

    本文通過從Postman獲取基本的接口測試Code簡單的接口測試入手,一步步調整優(yōu)化接口調用,以及增加基本的結果判斷,講解Python自帶的Unittest框架調用,期望各位可以通過本文對接口自動化測試有一個大致的了解。 為什么要做接口自動化測試? 在當前互聯網產品迭代頻繁的背景

    2024年02月07日
    瀏覽(21)
  • python3+requests+unittest接口自動化測試

    python3+requests+unittest接口自動化測試

    python3 + pycharm編輯器 (該套代碼只是簡單入門,有興趣的可以不斷后期完善) (1)run.py主運行文件,運行之后可以生成相應的測試報告,并以郵件形式發(fā)送; (2)report文件夾存放測試結果報告; (3)unit_test文件夾是存放測試用例(demo.py和test_unittest.py用例用法介紹,實際

    2024年02月09日
    瀏覽(26)
  • 自動化測試(三):接口自動化pytest測試框架

    自動化測試(三):接口自動化pytest測試框架

    API:Application Programming Interface 接口自動化按照自動化的工具可分為 基于 接口測試工具 的接口自動化 eg1:Postman+Newman+git/Svn+Jenkins(基于Javascript語言)接口自動化 Postman :創(chuàng)建和發(fā)送 API 請求,并對響應進行斷言和驗證。 Newman : Postman 的命令行工具,它允許測試人員在沒有界

    2024年02月10日
    瀏覽(93)
  • 接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務依賴、數據庫斷言等

    接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務依賴、數據庫斷言等

    接口自動化測試項目2.0 本框架主要是基于 Python + unittest + ddt + HTMLTestRunner + log + excel + mysql + 企業(yè)微信通知 + Jenkins 實現的接口自動化框架。 項目參與者: 陳勇志 技術支持郵箱: 262667641@qq.com 個人微信: Testing_player 個人博客地址: https://home.cnblogs.com/u/Nephalem-262667641 微信公眾號:測

    2024年02月16日
    瀏覽(21)
  • 【Python+requests+unittest+excel】實現接口自動化測試框架

    【Python+requests+unittest+excel】實現接口自動化測試框架

    一、框架結構: ?工程目錄 二、Case文件設計 三、基礎包 base 3.1 封裝get/post請求(runmethon.py) 3.2 封裝mock(mock.py) 四、數據操作包 operation_data 4.1 獲取excel單元格中的內容(get_data.py) ? 4.2?獲取excel中每個列(data_config.py) 4.3?解決數據依賴(dependent.py?) 五、工具類包 to

    2024年02月15日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包