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

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

這篇具有很好參考價值的文章主要介紹了接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

theme: fancy
highlight: arta

項目介紹

接口自動化測試項目2.0

軟件架構(gòu)

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

  • 項目參與者: 陳勇志
  • 技術(shù)支持郵箱: 262667641@qq.com
  • 個人微信: Testing_player
  • 個人博客地址: https://home.cnblogs.com/u/Nephalem-262667641
  • 微信公眾號:測試玩家勇哥

前言

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

框架優(yōu)勢

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

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

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

實現(xiàn)功能

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

gitee 地址

接口自動化框架地址:入群自?。何⑿牛篢esting_player

遇到問題

  • 請仔細(xì)閱讀文檔,文檔中幾乎可以幫你避免所有的問題
  • 可以添加微信: blue-blue-lemon, 添加微信會將你拉倒自動化交流群中,群內(nèi)有很多熱心的小伙伴,但是前提是希望你已經(jīng)閱讀了文檔中的所有內(nèi)容
  • 你也可以請作者為你解答,當(dāng)然在我時間空閑的時候,也可以讓作者為你一對一服務(wù),當(dāng)然是收費的。

目錄概覽:

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

詳細(xì)目錄結(jié)構(gòu)

.
└── cases/ // 測試用例數(shù)據(jù)文件夾
    └── cases/ // 測試用例
        └── test_cases.xlsx
    └── templates/ // 測試用例模板
        └── template.xlsx
    └── temporary_file/ // swagger| postman 導(dǎo)出的 json文件存放位置
        └── openapi.json
        └── postman.json
└── common/ // 配置及核心功能代碼
    └── bif_functions/ // 內(nèi)置函數(shù)工具
        └── __init__.py
        └── bif_datetime.py // 內(nèi)置日期時間函數(shù)
        └── bif_hashlib.py // 內(nèi)置hash 函數(shù)
        └── bif_json.py // 內(nèi)置json解析函數(shù)
        └── bif_list.py // 內(nèi)置列表操作函數(shù)
        └── bif_random.py // 內(nèi)置隨機(jī)函數(shù)
        └── bif_re.py // 內(nèi)置正則函數(shù)
        └── bif_str.py // 內(nèi)置字符串函數(shù)
        └── bif_time.py // 內(nèi)置時間函數(shù)
        └── random_tools.py // 內(nèi)置其他隨機(jī)函數(shù)
    └── crypto/ // 加密工具
        └── __init__.py
        └── encrypt_data.py // 執(zhí)行數(shù)據(jù)加密封裝入口
        └── encryption_aes.py // aes 加密
        └── encryption_base64_to_image.py // base64 轉(zhuǎn)圖片工具
        └── encryption_main.py // 執(zhí)行加入函數(shù)入口,對應(yīng)excel中的加密方法選項,結(jié)合 extensions 中的 sign 可自定義加密規(guī)則
        └── encryption_rsa.py // rsa 加密
        └── encryption_str.py // 常用的字符串加密工具函數(shù)
    └── data_extraction/ // 數(shù)據(jù)提取器
        └── __init__.py
        └── analysis_json.py // json 字典分析函數(shù),類似 jsonpath
        └── assert_dict.py // 舊斷言字段函數(shù) (暫時舍棄)
        └── data_extractor.py // 數(shù)據(jù)提取函數(shù)
        └── dependent_parameter.py // 數(shù)據(jù)替換函數(shù)
        └── dict_get.py // 舊路徑提取函數(shù)
    └── database/ // 數(shù)據(jù)庫操作工具
        └── __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/ // 常用隨機(jī)數(shù)工具包
        └── credit_cards/ // 隨機(jī)銀行卡
            └── __init__.py
            └── bankcard.py
            └── cardbin.csv
        └── credit_identifiers/ // 隨機(jī)企業(yè)唯一信用代碼
            └── __init__.py
            └── address.json
            └── credit_identifier.py
            └── unified_social_credit_identifier.py
        └── emails/ // 隨機(jī)郵箱
            └── __init__.py
            └── email.py
            └── free_email.csv
        └── identification/ // 隨機(jī)身份證
            └── __init__.py
            └── area.csv
            └── id_card.py
        └── names/ // 隨機(jī)姓名
            └── __init__.py
            └── first_name_boy.csv
            └── first_name_girl.csv
            └── last_name.csv
            └── name.py
        └── phone_numbers/ // 隨機(jī)手機(jī)號
            └── __init__.py
            └── phone.py
            └── phone_area.csv
            └── __init__.py
    └── utils/ // 工具包
        └── __init__.py
        └── captcha.py // 識別圖片轉(zhuǎn)字符串,常用于驗證碼登錄
        └── load_and_execute_script.py // 動態(tài)加載自定義python文件工具
        └── logger.py // loggin 日志封裝
        └── mylogger.py // loguru 日志封裝
        └── parsing_openapi.py // 解析 swagger 文件 轉(zhuǎn)測試用例
        └── parsing_postman.py // 解析 postman 文件 轉(zhuǎn)測試用例
        └── singleton.py // 單例
        └── WxworkSms.py // 企業(yè)微信
    └── validation/ // 斷言及加載動條函數(shù)工具包
        └── __init__.py
        └── comparator_dict.py // 自定義比較器名詞釋義
        └── comparators.py // 自定義比較器
        └── extractor.py // 提取器
        └── load_modules_from_folder.py // 動態(tài)從模塊中加載函數(shù)
        └── loaders.py // 動態(tài)加載函數(shù)及加載內(nèi)置比較器等工具包
    └── validator.py // 斷言校驗器
        └── __init__.py
    └── action.py // 核心類
    └── config.py // 配置文件
    └── variables.py // 數(shù)據(jù)操作類
└── extensions/ // 動態(tài)擴(kuò)展模塊目錄
    └── __init__.py
    └── ext_method_online.py // 動態(tài)擴(kuò)展方法模塊
    └── sign.py // 加簽?zāi)K
└── 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 // 對應(yīng)每條測試用例的前后置腳本(可選)
        └── request_script_sheetname_id.py
└── test_script/ // 測試腳本核心模塊
    └── __init__.py
    └── test_api.py
└── directory_tree.txt                      
└── excel_converter.py // postman、swagger 文件轉(zhuǎn)換主入口模塊
└── generate_tree.py // 項目目錄樹模塊
└── main_personal_information.py // 隨機(jī)個人信息核心入口
└── pipenv_command.text             
└── Pipfile     
└── Pipfile.lock    
└── README.md
└── run.py // 自動化測試執(zhí)行入口模塊

安裝教程

依賴庫

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

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

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

使用說明

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

開放測試接口文檔

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

  • https://wanandroid.com/blog/show/2

如何創(chuàng)建用例

excel中的測試用例相關(guān)字段介紹

下面是一個關(guān)于一個用例中的所有字段,字段不是全部必填
接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等
下面對每一個字段的作用,做出解釋:

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


# 調(diào)用方法
setup(action)
  • Request Data Crypto: 請求參數(shù)是否加密,可以填寫你需要的加密方式,如 MD5\sha1
  • Extract Request Data:提取請求參數(shù)的字段或整個請求參數(shù)字典,如:{"k": "$.projectId", "x": "$.data[0].age[3].a"}
  • Jsonpath: 提取響應(yīng)結(jié)果的 jsonpath 表達(dá)式,示例:默認(rèn)情況下若表達(dá)式結(jié)果只有一個值那么就存為字符串,如果表達(dá)式執(zhí)行結(jié)果有多個值,那么就存為列表,表達(dá)式填寫方式如下:
    {"k": "$.data", "x": "$.data[0].age[3].a"}
  • Regex: 正則表達(dá)式,填寫正則表達(dá)式字符串,示例: r'"id": (\d+), "name": "(\w+)",'
  • Regex Params List:填寫一個列表(list),用來存正則表達(dá)式提取值的變量列表,如: ["a", "b"],則表示用a,b 變量接收上面的正則表達(dá)式的返回值
  • 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的結(jié)果,同jsonpath,如:{"name": "$.select.select_data.name", "age": "$.select.select_data.age"}
  • Teardown Script: 后置python腳本代碼,任意函數(shù)或者類,用例發(fā)送請求后會自動執(zhí)行該代碼
  • Expected:預(yù)期結(jié)果,寫法示例:[{"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:實際值是以期望值結(jié)束"
}
  • Response: 響應(yīng)結(jié)果,用例執(zhí)行后,會自動將結(jié)果回寫到這個excel中,查看測試結(jié)果,一目了然。

創(chuàng)建用例步驟

開始填寫測試用例前,先看看這個init表的字段,下面我會統(tǒng)一講解:
接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

  1. cases 文件夾下方創(chuàng)建被測模塊或者系統(tǒng),然后在系統(tǒng)下創(chuàng)建相關(guān)的 excel 用例(可以復(fù)制模板excel文件來填寫測試用例)
  2. 將測試用例路徑添加到 common 文件夾下的 config.py 文件中
  3. 進(jìn)入 test_script/ 文件夾,在該文件夾下操作 test_api.py 文件將 test_file 變量地址替換為剛剛填寫的測試用例地址
  4. excel 中的用例必須填寫用例 id,另外 init sheet 表照中的全局初始化數(shù)據(jù)字段 中的部分字段必須填寫如:
"""
# init 表中的字段
id: 序號
environment: 被測環(huán)境,建議填寫:如測試環(huán)境,開發(fā)環(huán)境,生產(chǎn)環(huán)境等等
host:域名地址,如:https://www.baidu.com,非必填,填寫了就會取這部分的地址與測試用例中的Url拼接發(fā)送請求 
path:一小部分的請求路徑,比如所有的接口可能都存在:/test/api 這種,就可以填寫上去,非必填
databases: 數(shù)據(jù)庫,非必填,{"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:初始化的一些固定參數(shù),比如登錄賬號,密碼,等等都是基本不變的數(shù)據(jù)可以填寫這里,屬于全局變量,填寫方式字典{"{{username}}":"1234","{{pwd}}":"密碼"}
run: 決定使用的環(huán)境,值為yes表示用這個環(huán)境運行,有多個環(huán)境都填寫yes,只運行第一個yes
"""

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

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

用例中相關(guān)字段的介紹

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

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

  • init 中 sheets 內(nèi)的列表排序是有作用的,執(zhí)行用例是按照列表內(nèi)值排序執(zhí)行的。
  • 下方截圖就是 excel 用例 每個字段是否必填的描述
  • 接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等
  • 每條測試用例都可以自定義是否開啟,開啟則執(zhí)行,不開啟則跳過,默認(rèn)執(zhí)行結(jié)果是通過
  • 每一個sheet都可以隨意組合用例,不同sheet之間的變量參數(shù)可以共用(即變量全局的),不獨立設(shè)計,主要是考慮到分sheet只是為了方面管理用例,但是執(zhí)行依然是一次性全部執(zhí)行
  • 目前沒有設(shè)計每一個sheet的最大用例條數(shù),默認(rèn)取excel最大數(shù)據(jù)量,如果發(fā)現(xiàn)最大數(shù)據(jù)量撐爆內(nèi)存,建議分多個excel來寫測試用例
  • 目前使用的生成器的方式讀取excel,主要是防止一次性內(nèi)存被撐爆
  • 測試報告是按照excel來生成的,測試報告的樣式?jīng)]有按模塊區(qū)分,實際上直接打開excel就可以看到報告結(jié)果了。
  • 其他一些沒有多大作用的,通過率,跳過條數(shù),通過條數(shù),失敗條數(shù)等,沒有另外處理,全部由html的報告自動處理
  • 下方截圖為關(guān)聯(lián)參數(shù)填寫示例
    接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等
    接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

常用的一些內(nèi)置函數(shù)

所有的內(nèi)置函數(shù)都在 common/bif_functions 這個包內(nèi),用戶可以自定義添加內(nèi)置函數(shù),設(shè)計內(nèi)置函數(shù)一定要設(shè)計返回值,不能直接返回
None,貌似沒有對 None 特殊處理
以下是一些內(nèi)置函數(shù)講解
接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

  • 這個MD5方法,一般都沒有使用,一般都是直接excel中是否使用【參數(shù)加密方式字段開關(guān)】來處理加密
    接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等
  • 內(nèi)置函數(shù)使用,統(tǒng)一是 {{xxx()}},可以傳參數(shù)到()內(nèi),比如 {{token(999)}}
    接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等
  • 獲取一些時間戳方法,可以帶參數(shù)
  • Faker 庫里面的有些隨機(jī)數(shù),需要更多自己添加就行了。
    接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

用例中添加等待時間

excel 字段中一個 Time,字段值設(shè)置為 數(shù)字,單位S
接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

用例在執(zhí)行前,需要單獨執(zhí)行 sql 或者執(zhí)行后需要單獨執(zhí)行 sql,或者請求后立刻執(zhí)行 sql 并斷言 sql

excel 中有一個 method 字段,設(shè)置值為 sql 即可,后面的 SQL,SQL 變量字段按需填寫即可,一定要符合規(guī)范填寫
或者在請求的后面填寫 sql 語句及 sql 變量,都會默認(rèn)先執(zhí)行 sql,再執(zhí)行請求。
接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

setup setupclass teardown tearDownClass ?

其實這套代碼這些都可以不需要使用,也可以使用,定制一些初始化函數(shù)或者唯一登錄這樣用,做數(shù)據(jù)清晰操作?可以將sql寫excel,
或者單獨再excel種建立一個sheet來執(zhí)行sql也是可行的,方法很多,很靈活

postman或者swagger的文件怎么快速轉(zhuǎn)為測試用例?

本框架已經(jīng)封裝好了解析函數(shù),直接將postman文件導(dǎo)出,放到指定目錄
運行excel_converter.py文件,即可得到測試用例
非??旖菔∈?,不用一條一條復(fù)制粘貼
接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

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

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

更換不同的數(shù)據(jù)庫?

目前內(nèi)置有多種數(shù)據(jù)庫查鏈接方式,但是尚未使用起來,只是將mysql使用起來了,使用者如需要使用其他如 mongoDB 這類數(shù)據(jù)庫,
可以按 mysql 設(shè)計的方式去擴(kuò)展這個數(shù)據(jù)庫以適應(yīng) excel測試用例編寫方式,也可以聯(lián)系作者處理
接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

發(fā)送企業(yè)微信通知

可以根據(jù)需要,自由修改企業(yè)微信發(fā)送的模板等等信息
接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

主函數(shù)執(zhí)行入口

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

日志打印裝飾器

接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等
日志打印結(jié)果示例:
接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

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

基本數(shù)據(jù)

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

測試報告?

html 或者 excel 中 都有,直接自行使用查看吧
接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等
企業(yè)微信測試報告:
接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

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

html測試報告:

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

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

統(tǒng)計用例運行時長?

統(tǒng)計了每條用例從請求發(fā)出到響應(yīng)的時長,沒有統(tǒng)計其他時常信息,具體可以從 html 中查看

其他

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

獨立個人信息工具介紹

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

生成隨機(jī)個人信息

PS D:\api-test-project> python .\main_personal_information.py                                                                                                                                                                                                 海省廣州市南
請輸入你需要生成的數(shù)據(jù)總數(shù):10
+--------+------+------+------------+--------------------+----------------------+--------------+-------------+-------------------------+----------------------------------------+--------------------+                                                        門特別行政區(qū)
| 用戶名 | 性別 | 年齡 |    生日    |       身份證       |    銀行卡或信用卡    |     座機(jī)     |    手機(jī)號   |           郵箱          |                  地址                  |  統(tǒng)一社會信用代碼  |
+--------+------+------+------------+--------------------+----------------------+--------------+-------------+-------------------------+----------------------------------------+--------------------+                                                        西省張家港市
|  劉世  |  男  |  57  | 1965-07-21 | 342422196507219413 |  62263745016607204   | 0744-3715089 | 14705083324 |     liushi@tianya.cn    |    甘肅省遼陽縣沙灣??诮謞座 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,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等

總結(jié)

以上就是勇哥今天為各位小伙伴準(zhǔn)備的內(nèi)容,如果你想了解更多關(guān)于Python自動化測試的知識和技巧,歡迎關(guān)注:

我的公眾號:百態(tài)測試

博客(奈非天的主頁 - 博客園 (cnblogs.com))

我會不定期地分享更多的精彩內(nèi)容。感謝你的閱讀和支持!

本文來自博客園,作者:奈非天,轉(zhuǎn)載請注明原文鏈接:https://www.cnblogs.com/Nephalem-262667641/p/17460169.html文章來源地址http://www.zghlxwxcb.cn/news/detail-594380.html

到了這里,關(guān)于接口自動化測試項目2.0,讓你像Postman一樣編寫測試用例,支持多環(huán)境切換、多業(yè)務(wù)依賴、數(shù)據(jù)庫斷言等的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 震驚!強(qiáng)大的接口自動化測試框架2.0,unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼

    震驚!強(qiáng)大的接口自動化測試框架2.0,unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼

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

    2024年02月12日
    瀏覽(29)
  • Postman 接口自動化測試教程:入門介紹和從 0 到 1 搭建 Postman 接口自動化測試項目

    Postman 接口自動化測試教程:入門介紹和從 0 到 1 搭建 Postman 接口自動化測試項目

    ?關(guān)于Postman接口自動化測試的導(dǎo)引,全面介紹入門基礎(chǔ)和從零開始搭建項目的步驟。學(xué)習(xí)如何有效地使用Postman進(jìn)行API測試,了解項目搭建的基礎(chǔ)結(jié)構(gòu)、環(huán)境設(shè)置和測試用例的編寫。無論您是新手還是經(jīng)驗豐富的測試人員,這篇教程都將為您提供清晰的指導(dǎo),助您輕松構(gòu)建強(qiáng)大

    2024年03月16日
    瀏覽(28)
  • 吐血整理,接口自動化測試-接口依賴/上傳接口處理(項目實例)

    吐血整理,接口自動化測試-接口依賴/上傳接口處理(項目實例)

    常見的兩種接口依賴處理方式 1、請求體的字段依賴 這種情況多數(shù)是在當(dāng)前測試的接口,它的前置接口的請求體中的字段要拿來在當(dāng)前的接口請求體中繼續(xù)使用。 比如修改用戶信息的接口,該接口會使用到用戶名的字段,該字段是由創(chuàng)建用戶時的請求體中傳入的,創(chuàng)建用戶的

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

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

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

    2024年02月09日
    瀏覽(94)
  • 【接口自動化測試入門】從0到1落地接口自動化測試

    前段時間寫了一系列自動化測試相關(guān)的文章,當(dāng)然更多的是方法和解決問題的思路角度去闡述我的一些觀點。這篇文章來聊聊新手如何從零到一落地實踐接口自動化測試。 早些時候,軟件研發(fā)交付流程大多遵循V型或W型的瀑布模式,這種模式下只有開發(fā)編碼完成才會提測進(jìn)入

    2024年02月04日
    瀏覽(27)
  • 接口自動化測試實踐指導(dǎo)(下):接口自動化測試斷言設(shè)置思路

    接口自動化測試實踐指導(dǎo)(下):接口自動化測試斷言設(shè)置思路

    作者 : 石臻臻 , CSDN博客之星Top5 、 Kafka Contributor 、 nacos Contributor 、 華為云 MVP , 騰訊云TVP , 滴滴Kafka技術(shù)專家 、 KnowStreaming 。 KnowStreaming 是滴滴開源的Kafka運維管控平臺, 有興趣一起參與參與開發(fā)的同學(xué),但是怕自己能力不夠的同學(xué),可以聯(lián)系我,當(dāng)你導(dǎo)師帶你參與開源! 。 在

    2024年01月18日
    瀏覽(29)
  • Selenium元素定位全攻略,讓你輕松玩轉(zhuǎn)自動化測試!

    Selenium元素定位全攻略,讓你輕松玩轉(zhuǎn)自動化測試!

    一、什么是元素定位 元素定位就是查找HTML元素的過程,操作頁面元素之前,首先要對元素進(jìn)行定位,所以定位是自動化腳本編寫的開始。 通常使用find_element或find_elements方法來定位元素(find_element?使用給定的方法定位和查找一個元素;find_elements?使用給定的方法定位和查找所

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

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

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

    2024年02月10日
    瀏覽(93)
  • 接口自動化測試系列-接口測試

    接口自動化測試系列-接口測試

    利用postman完成接口測試:官網(wǎng)。 接口一般包含: url:請求地址,如:https://www.baidu.com/ method:請求方式,get,post,update,delete等 headers:請求頭 body/params:請求體,post一般存在body中。get請求放在params中 get請求 post請求 輔助抓包工具操作指引 postman常規(guī)操作 1、怎樣設(shè)置變量 如url、heade

    2024年02月10日
    瀏覽(24)
  • 【接口自動化測試入門】接口測試基礎(chǔ)(超詳細(xì)~)

    【接口自動化測試入門】接口測試基礎(chǔ)(超詳細(xì)~)

    1、http請求頭和響應(yīng)頭包含那些內(nèi)容? 請求頭信息 請求報頭允許客戶端向服務(wù)器端傳遞請求的附加信息以及客戶端自身的信息。 2、常用的請求報頭如下: Accept:瀏覽器可接受的MIME類型。 l MIME用于設(shè)定某種擴(kuò)展名的文件用哪種應(yīng)用程序來打開的方式類型,當(dāng)該擴(kuò)展名文件被

    2024年02月16日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包