8s yaml 配置生成_接口测试框架实战(六) | 配置的数据驱动
《Python 測(cè)試開發(fā)實(shí)戰(zhàn)進(jìn)階》課程,4?個(gè)月挑戰(zhàn) BAT 大廠年薪 50W+ Offer,文末加群!
在實(shí)際工作中,為了便于維護(hù),對(duì)于環(huán)境的切換和配置,通常不會(huì)使用硬編碼的形式完成。在之前文章《多環(huán)境下的接口測(cè)試》中,已經(jīng)介紹了如何將環(huán)境的切換作為一個(gè)可配置的選項(xiàng)。本文會(huì)把這部分內(nèi)容進(jìn)行重構(gòu),使用數(shù)據(jù)驅(qū)動(dòng)的方式完成多環(huán)境的配置。
環(huán)境準(zhǔn)備
參考《多環(huán)境下的接口測(cè)試》,將環(huán)境配置部分改為數(shù)據(jù)驅(qū)動(dòng)的模式:
代碼如下:
#把host修改為ip,并附加host headerenv={
"docker.testing-studio.com": {
"dev": "127.0.0.1",
"test": "1.1.1.2"
},
"default": "dev"
}
data["url"]=str(data["url"]).replace(
"docker.testing-studio.com",
env["docker.testing-studio.com"][env["default"]]
)
data["headers"]["Host"]="docker.testing-studio.com"
實(shí)戰(zhàn)演示
依然以 YAML 為示例,將所有的環(huán)境配置信息放到 env.yml 文件中。如果怕出錯(cuò),可以先使用 yaml.safe_dump(env) 將 dict 格式的代碼轉(zhuǎn)換為 YAML。
如下所示,打印出來(lái)的,就是成功轉(zhuǎn)換 YAML 格式的配置信息:
def test_send(self):env={
"docker.testing-studio.com": {
"dev": "127.0.0.1",
"test": "1.1.1.2"
},
"default": "dev"
}
yaml2 = yaml.safe_dump(env)
print("")
print(yaml2)
將打印出來(lái)的內(nèi)容粘貼到 env.yml 文件中:
docker.testing-studio.com:dev: "127.0.0.1"
test: "1.1.1.2"
level: 4
default:
"dev"
將環(huán)境準(zhǔn)備中的代碼稍作修改,把 env 變量從一個(gè)典型 dict 改為使用 yaml.safe_load 讀取 ?env.yml:
# 把host修改為ip,并附加host headerenv = yaml.safe_load(open("./env.yml"))
data["url"] = str(data["url"]).\
replace("docker.testing-studio.com",
env["docker.testing-studio.com"][env["default"]])
data["headers"]["Host"] = "docker.testing-studio.com"
如此一來(lái),就可以實(shí)現(xiàn)使用數(shù)據(jù)驅(qū)動(dòng)的方式,通過(guò)修改 env.yml 文件來(lái)直接修改配置信息。
每日一問(wèn)
關(guān)于測(cè)試的數(shù)據(jù)驅(qū)動(dòng),你有沒(méi)有遇到過(guò)令你印象深刻的難題,或者可分享的實(shí)戰(zhàn)經(jīng)驗(yàn)?歡迎在評(píng)論區(qū)留言。
更多接口測(cè)試框架實(shí)戰(zhàn)進(jìn)階內(nèi)容,我們?cè)诤罄m(xù)文章分享。關(guān)注 「霍格沃茲測(cè)試學(xué)院」公眾號(hào),獲取更多測(cè)試開發(fā)干貨內(nèi)容。
推薦學(xué)習(xí)
霍格沃茲出品?《測(cè)試開發(fā)實(shí)戰(zhàn)進(jìn)階》課程,資深測(cè)試架構(gòu)師、開源項(xiàng)目作者親授?BAT 大廠前沿最佳實(shí)踐。4 個(gè)月 20+ 項(xiàng)目實(shí)戰(zhàn)強(qiáng)化訓(xùn)練,帶你一站式掌握 BAT 測(cè)試開發(fā)工程師必備核心技能(對(duì)標(biāo)阿里P6+,年薪50W+)!學(xué)員直推?BAT 名企測(cè)試經(jīng)理,普遍漲薪 50%+!
?15 期熱招中,入群獲取完整大綱?
Python 測(cè)試開發(fā)實(shí)戰(zhàn)進(jìn)階,挑戰(zhàn)阿里P6+,年薪50W+!
接口測(cè)試框架實(shí)戰(zhàn)(五) |?測(cè)試數(shù)據(jù)的數(shù)據(jù)驅(qū)動(dòng)
接口測(cè)試框架實(shí)戰(zhàn)(四) |?通用?API 封裝實(shí)戰(zhàn)
接口測(cè)試框架實(shí)戰(zhàn)(三) |?APIObject 模式、原則與應(yīng)用
接口測(cè)試框架實(shí)戰(zhàn)(二) | 搞定多環(huán)境下的接口測(cè)試
接口測(cè)試框架實(shí)戰(zhàn)(一)?|?流程封裝與基于加密接口的測(cè)試用例設(shè)計(jì)
干貨 | 一文搞定?pytest 自動(dòng)化測(cè)試框架(一)
干貨 | 一文搞定?pytest 自動(dòng)化測(cè)試框架(二)
Python 自動(dòng)化測(cè)試(三): pytest 參數(shù)化測(cè)試用例構(gòu)建
Python 自動(dòng)化測(cè)試(四):數(shù)據(jù)驅(qū)動(dòng)
Python?自動(dòng)化測(cè)試(五):?Pytest?結(jié)合?Allure?生成測(cè)試報(bào)告
干貨?|?一文搞定?Linux?常用高頻命令
戳“閱讀原文”,提升自己的核心競(jìng)爭(zhēng)力吧!總結(jié)
以上是生活随笔為你收集整理的8s yaml 配置生成_接口测试框架实战(六) | 配置的数据驱动的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: js数组再倒数第二个添加元素_归纳JS中
- 下一篇: virsh 网络设置_KVM使用Netw