<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      技術分享:如何用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-04-15 21:38:09
      “天生的壞種,典型的倀鬼”,小學生地鐵站一個動作,被全網討伐

      “天生的壞種,典型的倀鬼”,小學生地鐵站一個動作,被全網討伐

      妍妍教育日記
      2026-04-16 09:10:09
      錢賺夠了,名聲沒了,謝娜開演唱會迎來全網罵潮,劉燁當初沒說謊

      錢賺夠了,名聲沒了,謝娜開演唱會迎來全網罵潮,劉燁當初沒說謊

      洲洲影視娛評
      2026-04-15 23:09:10
      為什么你一定會老死?因為你的DNA在故意殺掉你

      為什么你一定會老死?因為你的DNA在故意殺掉你

      半解智士
      2026-04-12 13:31:31
      多家寺廟陸續宣布關門,并非維修也非裝修,知情人透露真實原因!

      多家寺廟陸續宣布關門,并非維修也非裝修,知情人透露真實原因!

      番外行
      2026-04-16 08:14:05
      天后麥當娜:一生交往一百多猛男,與自己保鏢歡愛視頻,還被拍賣

      天后麥當娜:一生交往一百多猛男,與自己保鏢歡愛視頻,還被拍賣

      七阿姨愛八卦
      2026-04-09 09:32:37
      CBA最令人失望球隊!10天前還是聯賽第4,如今連第8都快保不住了

      CBA最令人失望球隊!10天前還是聯賽第4,如今連第8都快保不住了

      后仰大風車
      2026-04-16 07:55:08
      馬筱梅吐槽婆婆別墅沒處下腳,背刺蘭姐,可見,她是真的壞

      馬筱梅吐槽婆婆別墅沒處下腳,背刺蘭姐,可見,她是真的壞

      魔都姐姐雜談
      2026-04-16 04:42:28
      周繼紅出手!跳水隊大換血:2人下桌2人換桌,全紅嬋陳芋汐在列

      周繼紅出手!跳水隊大換血:2人下桌2人換桌,全紅嬋陳芋汐在列

      阿鳧愛吐槽
      2026-04-16 02:15:51
      小鵬最貴SUV預售39.98萬!L4架構3000TOPS算力,座椅支持“三折疊”

      小鵬最貴SUV預售39.98萬!L4架構3000TOPS算力,座椅支持“三折疊”

      車東西
      2026-04-16 00:39:40
      4-3慘敗!皇馬客場崩盤遭拜仁淘汰,四大皆空+主帥下課倒計時?

      4-3慘敗!皇馬客場崩盤遭拜仁淘汰,四大皆空+主帥下課倒計時?

      阿晞體育
      2026-04-16 11:16:37
      許家印,KTV豪情終成妄念

      許家印,KTV豪情終成妄念

      哲空空
      2026-04-15 11:40:51
      “中方要求兩大航運公司立即停止巴拿馬港口運營”

      “中方要求兩大航運公司立即停止巴拿馬港口運營”

      觀察者網
      2026-04-15 16:28:22
      76人晉級獲4大喜訊!再戰老對手賽程出爐 恩比德受困傷病恐難復出

      76人晉級獲4大喜訊!再戰老對手賽程出爐 恩比德受困傷病恐難復出

      錢說體育
      2026-04-16 12:33:23
      超2400萬伊朗人注冊“為伊朗捐軀”網站

      超2400萬伊朗人注冊“為伊朗捐軀”網站

      看看新聞Knews
      2026-04-15 23:00:11
      別再瞎整容了!《蜜語紀》朱珠李夢同框,原生臉與科技高下立判

      別再瞎整容了!《蜜語紀》朱珠李夢同框,原生臉與科技高下立判

      阿鳧愛吐槽
      2026-04-15 20:03:11
      1920年,林徽因和父親林長民,在倫敦寓所里吃西餐,顏值太高了!

      1920年,林徽因和父親林長民,在倫敦寓所里吃西餐,顏值太高了!

      云霄紀史觀
      2026-04-14 02:18:38
      燃盡了!賽季最佳皇馬,敗于一個選擇

      燃盡了!賽季最佳皇馬,敗于一個選擇

      足球周刊
      2026-04-16 11:15:30
      1952年,抗日名將柏輝章被押往刑場,曾在淞滬會戰立下赫赫戰功

      1952年,抗日名將柏輝章被押往刑場,曾在淞滬會戰立下赫赫戰功

      磊子講史
      2026-02-03 12:47:11
      52歲何靜近況曝光!經歷兩段失敗婚姻,如今與女兒何彥琳相依為命

      52歲何靜近況曝光!經歷兩段失敗婚姻,如今與女兒何彥琳相依為命

      代軍哥哥談娛樂
      2026-04-15 10:33:12
      2026-04-16 12:51:00
      51Testing軟件測試網 incentive-icons
      51Testing軟件測試網
      中國軟件測試人的精神家園
      1556文章數 13260關注度
      往期回顧 全部

      科技要聞

      39.98萬!小鵬GX預售“純電增程同價”

      頭條要聞

      24歲抗癌博主去世媽媽和姐姐也病逝 一家五口只剩兩人

      頭條要聞

      24歲抗癌博主去世媽媽和姐姐也病逝 一家五口只剩兩人

      體育要聞

      很快,亞洲籃球要有自己的NCAA了?

      娛樂要聞

      絲芭傳媒創始人王子杰去世,享年63歲

      財經要聞

      一季度GDP,5.0%!

      汽車要聞

      空間大五個乘客都滿意?體驗嵐圖泰山X8

      態度原創

      健康
      本地
      房產
      時尚
      教育

      干細胞抗衰4大誤區,90%的人都中招

      本地新聞

      12噸巧克力有難,全網化身超級偵探添亂

      房產要聞

      業主狂喜!海口二手房價,終于漲了!

      赫本愛穿的傘裙,好優雅!

      教育要聞

      楚風豫韻 “湘”約泉城——湘鄂豫高校濟南行活動成功舉辦!

      無障礙瀏覽 進入關懷版