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-03-23 08:36:22
后續!上海74歲大爺偷錢包被拘留:被抓時很淡定,原來是個慣犯

后續!上海74歲大爺偷錢包被拘留:被抓時很淡定,原來是個慣犯

音樂時光的娛樂
2026-03-23 01:10:36
37票贊成47票反對!美國投票結果公布,特朗普被聯手逼宮

37票贊成47票反對!美國投票結果公布,特朗普被聯手逼宮

頭條爆料007
2026-03-22 09:07:38
默多克過95歲生日,只邀請了3個孩子,鄧文迪陪兩個女兒盛裝出席

默多克過95歲生日,只邀請了3個孩子,鄧文迪陪兩個女兒盛裝出席

小書生吃瓜
2026-03-22 16:43:35
70歲后才懂得:親手帶大的孫輩,不管孫子還是外孫,都有5個現實

70歲后才懂得:親手帶大的孫輩,不管孫子還是外孫,都有5個現實

藝鑒在線
2026-03-20 18:31:57
李鵬晚年親口澄清身世:說我是周總理養子?這話其實不準確

李鵬晚年親口澄清身世:說我是周總理養子?這話其實不準確

老杉說歷史
2026-03-21 16:56:05
衛健委7天減肥食譜,照著吃體脂穩降到22%

衛健委7天減肥食譜,照著吃體脂穩降到22%

獨舞獨舞
2026-03-21 11:12:34
清算終于開始了!一個要求,震動東京:中國要求日本限期內歸還

清算終于開始了!一個要求,震動東京:中國要求日本限期內歸還

壹知眠羊
2026-01-28 22:03:28
鬧烏龍!7只狗沒越獄,吉林當地媒體采訪,狗主人:錯在德牧身上

鬧烏龍!7只狗沒越獄,吉林當地媒體采訪,狗主人:錯在德牧身上

觀察鑒娛
2026-03-21 12:43:39
“梅姨”案關鍵記錄者、調查記者魏華去世,今天是他45歲生日

“梅姨”案關鍵記錄者、調查記者魏華去世,今天是他45歲生日

紅星新聞
2026-03-22 22:14:13
太震驚!福建男子在閩江釣到巨蝦,個頭比臉都大!這蝦到底是哪來的?

太震驚!福建男子在閩江釣到巨蝦,個頭比臉都大!這蝦到底是哪來的?

健身狂人
2026-03-23 00:47:22
博主:04國少隊長何小珂將征戰蘇超;上賽季中超結束成自由身

博主:04國少隊長何小珂將征戰蘇超;上賽季中超結束成自由身

懂球帝
2026-03-22 23:16:21
于東來兒媳首次正面露面,顏值封神,和婆婆馬麗撞臉像復制粘貼

于東來兒媳首次正面露面,顏值封神,和婆婆馬麗撞臉像復制粘貼

潮鹿逐夢
2026-03-22 22:55:31
寧愿銷毀也不賣給中國!現在卻又求著中國買,專家:白送都不要!

寧愿銷毀也不賣給中國!現在卻又求著中國買,專家:白送都不要!

混沌錄
2026-03-22 23:18:10
1965年陸小曼病世,翁瑞午的長女見四下無人,迅速解開她的衣扣

1965年陸小曼病世,翁瑞午的長女見四下無人,迅速解開她的衣扣

銅臭的歷史味
2026-03-13 23:02:59
楊紫真的已經瘦到天賦上限了,這也太牛了…

楊紫真的已經瘦到天賦上限了,這也太牛了…

手工制作阿殲
2026-02-22 13:25:34
伊朗:不接受臨時停火,而是要求全面結束戰爭;伊朗武裝部隊稱正在霍爾木茲海峽采取重大行動,伊朗將以“自身實力”應對相關威脅

伊朗:不接受臨時停火,而是要求全面結束戰爭;伊朗武裝部隊稱正在霍爾木茲海峽采取重大行動,伊朗將以“自身實力”應對相關威脅

大風新聞
2026-03-22 14:39:02
兩位被中超豪門放棄的球員,如今都在重慶銅梁龍爆發,已站穩腳跟

兩位被中超豪門放棄的球員,如今都在重慶銅梁龍爆發,已站穩腳跟

振剛說足球
2026-03-22 15:27:03
王晶沒撒謊!退出春晚、和沈騰決裂,性格大變的賈玲印證他說的話

王晶沒撒謊!退出春晚、和沈騰決裂,性格大變的賈玲印證他說的話

胡一舸南游y
2026-01-25 14:54:04
壺口瀑布風波:黃河是全民的,不是某家公司的私產!

壺口瀑布風波:黃河是全民的,不是某家公司的私產!

達文西看世界
2026-03-22 14:27:03
2026-03-23 10:51:00
51Testing軟件測試網 incentive-icons
51Testing軟件測試網
中國軟件測試人的精神家園
1541文章數 13255關注度
往期回顧 全部

科技要聞

雷軍、蔡崇信最新發聲,提到同一件事

頭條要聞

梅姨每交易1名兒童拿1千元介紹費 會同犯問有沒有小孩

頭條要聞

梅姨每交易1名兒童拿1千元介紹費 會同犯問有沒有小孩

體育要聞

46歲生日快樂!巴薩全隊穿10號致敬小羅

娛樂要聞

劉燁47歲生日,安娜曬全家福為其慶生

財經要聞

連續暴跌 亂世黃金失靈?

汽車要聞

車圈印鈔機生銹 利潤暴跌93%!保時捷黃金時代落幕?

態度原創

手機
旅游
教育
本地
親子

手機要聞

小米雷軍:電腦版龍蝦有計劃,正在開發之中

旅游要聞

陜西丹鳳康養旅游專列首發啟程 春日盛景迎客來

教育要聞

窮則變,變則通:課堂提質沒有捷徑,抓實“四有”才是硬道理

本地新聞

春色滿城關不住|紹興春日頂流,這片櫻花海藏不住了

親子要聞

干月嫂18年,告訴你月子里的真正秘密!越簡單越好!

無障礙瀏覽 進入關懷版