337p人体粉嫩胞高清图片,97人妻精品一区二区三区在线 ,日本少妇自慰免费完整版,99精品国产福久久久久久,久久精品国产亚洲av热一区,国产aaaaaa一级毛片,国产99久久九九精品无码,久久精品国产亚洲AV成人公司
網易首頁 > 網易號 > 正文 申請入駐

技術分享:如何用pytest_addoption切換自動化測試環境?

0
分享至

前言

在目前互聯網公司中,都會存在多個測試環境,那么當我們編寫的自動化想要在多套測試環境下進行運行時,如何使用?

大多數人想到的可能是通過將我們自動化代碼中的地址修改成不同環境。

但是這時候就會增加一些工作量,每次運行不同的環境,都需要在配置文件中進行地址修改,這樣很不方便。

今天小編介紹一種Pytest的鉤子函數,這個函數可以幫助我們很容易的解決這個問題。



pytest_addoption

pytest_addoption是Pytest的鉤子函數之一,用于為Pytest添加自定義選項,并將這些選項傳遞給測試用例。

可以通過修改Pytest的配置文件(pytest.ini)或使用命令行參數來設置這些選項。

pytest_addoption該函數一般需要和pytest的fixture內置函數request中的request.config.getoption(獲取命令行參數信息)進行結合使用。

在上述問題中,我們可以通過在命令行參數中對測試環境地址進行修改,這樣就可以在不修改配置文件的情況下,只通過命令行參數進行在不同的測試環境中執行相同的自動化代碼。

def pytest_addoption(parser):

parser.addoption(

"--anjing",

action="store",

default="dev",

help="通過'anjing'添加自定義命令行參數名稱"

參數介紹

pytest_addoption中常用到的一些參數介紹:

name:表示自定義命令行參數的名稱,一般通過“--xxx”來使用;

action:表示命令行中遇到此參數時要采取的存儲該參數對應的參數值的基本操作類型,默認為“store”;

default:表示如何命令行中沒有傳入該參數的值,則取默認值;

help:對參數作用的簡介和說明。

使用方法

關于pytest_addoption的一些簡介和用途已經介紹完畢了,接下來跟著小編一起查看如何使用pytest_addoption來解決我們的問題。

1、需要在conftest.py文件中進行創建一個pytest_addoption函數,對其進行設置對應參數類型。

2、通過pytest.fixture創建函數,獲取命令行對應參數值。

3、通過編寫測試用例中調用對應的函數名稱。

4、命令行執行時,添加對應命令行參數。

小編先列舉下conftest.py文件中關于pytest_addoption的編寫:

#conftest.py文件

#coding:utf-8

import pytest

def pytest_addoption(parser):

parser.addoption(

"--anjing",action="store",default="anjing",help="將'anjing'添加到pytest的配置參數中"

parser.addoption(

"--env",action="store",default="dev",help="env:表示命令行參數內容,不填寫默認輸出default的值內容"

@pytest.fixture()

def anjing(request):

return request.config.getoption("--anjing")

@pytest.fixture()

def env(request):

return request.config.getoption("--env")

再根據conftest.py文件中的內容編寫對應的測試用例:

#coding:utf-8

def test_01(anjing):

if anjing=='test':

print('命令行傳參成功!')

else:

print('命令行取默認值!')

def test_02(env):

if env=='test':

print('傳參成功!')

else:

print('傳參失?。?)



通過cmd執行時候,后續進行添加了對應的命令行參數值,這里小編是對兩個命令行參數都添加了值,那么如果不添加值會怎么樣呢?



通過執行結果可以看出來,當我們沒有添加參數時,這里小編忘記打印返回值了,其實會實際輸出默認值,就是我們在函數中設置的default。

我們上面使用的方法是通過XXX=XXX的格式來輸出的,這里我們也可以通過--xxxx值,參數和值之間通過空格進行輸入,結果都是一樣的。



案例展示

上述小編是介紹了如何使用,那么我們如何在接口項目中使用呢?小編這里通過一個簡單的方法通過項目進行展示,這里小編通過將默認值值變成了請求成功的url地址,添加參數為錯誤的url地址。

#conftest.py文件

#coding:utf-8

import pytest

def pytest_addoption(parser):

parser.addoption(

"--url",

action="store",

default="http://apis.juhe.cn/simpleWeather/query",

help="將'anjing'添加到pytest的配置參數中"

@pytest.fixture()

def anjing(request):

return request.config.getoption("--url")

conftest.py文件中我們將默認請求成功的地址寫入到默認值中,然后繼續編寫接口請求地址,在添加一個命令行參數的函數。

#test_01.py文件

#coding:utf-8

import requests

def test_01(anjing):

data={

'city':"上海",

'key':'331eab8f3481f37868378fcdc76cb7cd'

r=requests.post(anjing,data=data)

result=r.json()['reason']

assert result=='查詢成功!'

通過cmd進行運行程序,我們先不添加任何命令行參數,讓其請求默認參數值的內容,發現測試用例請求成功了。



接下來我們通過隨便在命令行參數后跟一個不正確的url地址,去模擬請求,這里肯定是無法請求成功的,因為我們請求的百度,不能請求成功(主要模擬測試環境場景)。



總結

小編通過簡單的方法介紹了如何使用pytest_addoption進行來模擬不同測試環境下,我們如何進行執行我們的測試用例。

當然pytest_addoption的用途不僅僅只有這么多,具體如何使用,大家可以根據自己公司內容的項目進行結合使用。

感謝您的閱讀,希望本篇文章對您有所幫助。

最后:在我的V:atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
有沒有人敢爆自己的瓜?網友:確定玩這么大嗎?

有沒有人敢爆自己的瓜?網友:確定玩這么大嗎?

夜深愛雜談
2026-02-18 20:55:58
上海剛剛通報:一區市場監管局黨組書記、局長被查

上海剛剛通報:一區市場監管局黨組書記、局長被查

上觀新聞
2026-03-24 20:54:27
晚飯七分飽被推翻了?醫生調查:過了56歲,吃飯盡量要做到這5點

晚飯七分飽被推翻了?醫生調查:過了56歲,吃飯盡量要做到這5點

蜉蝣說
2026-02-03 15:00:19
暴雷!連續3年財務造假,又一上市藥企要涼了?數萬股民被割韭菜

暴雷!連續3年財務造假,又一上市藥企要涼了?數萬股民被割韭菜

興史興談
2026-03-23 16:57:35
菲律賓宣布國家能源緊急狀態

菲律賓宣布國家能源緊急狀態

界面新聞
2026-03-24 19:20:45
全球斷供,10天倒計時

全球斷供,10天倒計時

大貓財經Pro
2026-03-24 18:28:56
陶喆再一次證明,娶妻要娶年輕的,即使你老了,她還美得心曠神怡

陶喆再一次證明,娶妻要娶年輕的,即使你老了,她還美得心曠神怡

許三歲
2026-03-16 10:18:04
名記:保羅-喬治的25場禁賽執行完畢,他將于今日復出

名記:保羅-喬治的25場禁賽執行完畢,他將于今日復出

懂球帝
2026-03-25 00:43:40
溫網宣布重大規則改革!成為四大滿貫中第三個引入該規則的賽事

溫網宣布重大規則改革!成為四大滿貫中第三個引入該規則的賽事

網球之家
2026-03-24 22:14:43
悲催!怎么會這么巧?張雪峰和曝光眼鏡暴利的記者,都是心臟驟停

悲催!怎么會這么巧?張雪峰和曝光眼鏡暴利的記者,都是心臟驟停

火山詩話
2026-03-24 18:23:32
羅永浩與瑞幸咖啡聯動,復刻“中杯大杯特大杯”經典名場面,15 年來“唯一恐懼”的女人現身

羅永浩與瑞幸咖啡聯動,復刻“中杯大杯特大杯”經典名場面,15 年來“唯一恐懼”的女人現身

大風新聞
2026-03-23 17:44:06
450億顆芯片懸空!荷蘭突然宣布光刻機決定,歐媒:一切都結束了

450億顆芯片懸空!荷蘭突然宣布光刻機決定,歐媒:一切都結束了

墨印齋
2026-03-23 21:07:23
“24公里收150元”,女子機場打車被半路甩下,司機:下去,老子不拉你了!

“24公里收150元”,女子機場打車被半路甩下,司機:下去,老子不拉你了!

申消費
2026-03-24 10:59:12
我去!內娛最大的性丑聞,拍出來了

我去!內娛最大的性丑聞,拍出來了

皮蛋兒電影
2026-03-04 14:39:25
49歲曾黎全家赴澳門祈福,深情男友陪伴五年卻不領證,前任成影帝,她是內娛的清醒者

49歲曾黎全家赴澳門祈福,深情男友陪伴五年卻不領證,前任成影帝,她是內娛的清醒者

情感大頭說說
2026-03-24 20:28:35
太突然了!雄鹿裁掉托馬斯!這可是NBA超級得分手

太突然了!雄鹿裁掉托馬斯!這可是NBA超級得分手

籃球實戰寶典
2026-03-24 09:10:46
國安部鄭重提醒:手機這些功能別常開,及時關閉更安全

國安部鄭重提醒:手機這些功能別常開,及時關閉更安全

Thurman在昆明
2026-03-22 21:15:07
闖入中國大使館的日本自衛隊人員已被逮捕

闖入中國大使館的日本自衛隊人員已被逮捕

新京報
2026-03-24 23:40:19
如今黃金價格變成了一個天大的笑話,買黃金可笑到什么程度

如今黃金價格變成了一個天大的笑話,買黃金可笑到什么程度

妙知
2026-03-24 16:04:53
米蘭這一晚,劉亦菲穿深V不捂胸口,給內娛上了生動的一課

米蘭這一晚,劉亦菲穿深V不捂胸口,給內娛上了生動的一課

八卦南風
2026-03-24 12:16:16
2026-03-25 02:32:49
51Testing軟件測試網 incentive-icons
51Testing軟件測試網
中國軟件測試人的精神家園
1543文章數 13256關注度
往期回顧 全部

科技要聞

年僅41歲,教育名師張雪峰猝然離世

頭條要聞

張雪峰因心源性猝死搶救無效去世 終年41歲

頭條要聞

張雪峰因心源性猝死搶救無效去世 終年41歲

體育要聞

NBA最強左手射手,是個右撇子

娛樂要聞

張雪峰經搶救無效不幸去世 年僅41歲

財經要聞

特朗普再TACO 可以押注伊朗局勢降級?

汽車要聞

尚界Z7雙車預售22.98萬起 問界M6預售26.98萬起

態度原創

藝術
健康
數碼
游戲
時尚

藝術要聞

300米!非洲最高全鋼混住宅,中國建造又破紀錄!

轉頭就暈的耳石癥,能開車上班嗎?

數碼要聞

榮耀平板PC應用新增剪映專業版App,支持大屏多軌剪輯等功能

余霜管澤元官宣懷孕!“小隊新成員” 來了

豪門夢破碎后,她居然還能爆紅?

無障礙瀏覽 進入關懷版