<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
      網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

      技術分享:如何用pytest_addoption切換自動化測試環(huán)境?

      0
      分享至

      前言

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

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

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

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



      pytest_addoption

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

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

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

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

      def pytest_addoption(parser):

      parser.addoption(

      "--anjing",

      action="store",

      default="dev",

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

      參數(shù)介紹

      pytest_addoption中常用到的一些參數(shù)介紹:

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

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

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

      help:對參數(shù)作用的簡介和說明。

      使用方法

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

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

      2、通過pytest.fixture創(chuàng)建函數(shù),獲取命令行對應參數(shù)值。

      3、通過編寫測試用例中調(diào)用對應的函數(shù)名稱。

      4、命令行執(zhí)行時,添加對應命令行參數(shù)。

      小編先列舉下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的配置參數(shù)中"

      parser.addoption(

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

      @pytest.fixture()

      def anjing(request):

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

      @pytest.fixture()

      def env(request):

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

      再根據(jù)conftest.py文件中的內(nèi)容編寫對應的測試用例:

      #coding:utf-8

      def test_01(anjing):

      if anjing=='test':

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

      else:

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

      def test_02(env):

      if env=='test':

      print('傳參成功!')

      else:

      print('傳參失敗!')



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



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

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



      案例展示

      上述小編是介紹了如何使用,那么我們?nèi)绾卧诮涌陧椖恐惺褂媚兀啃【庍@里通過一個簡單的方法通過項目進行展示,這里小編通過將默認值值變成了請求成功的url地址,添加參數(shù)為錯誤的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的配置參數(shù)中"

      @pytest.fixture()

      def anjing(request):

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

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

      #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進行運行程序,我們先不添加任何命令行參數(shù),讓其請求默認參數(shù)值的內(nèi)容,發(fā)現(xiàn)測試用例請求成功了。



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



      總結

      小編通過簡單的方法介紹了如何使用pytest_addoption進行來模擬不同測試環(huán)境下,我們?nèi)绾芜M行執(zhí)行我們的測試用例。

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

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

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

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

      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.

      相關推薦
      熱點推薦
      潘江帶隊終于打出點東西了!末節(jié)拒用人一根筋,新三巨碾壓新疆!

      潘江帶隊終于打出點東西了!末節(jié)拒用人一根筋,新三巨碾壓新疆!

      籃球資訊達人
      2026-04-05 00:40:29
      24小時內(nèi),美軍為營救飛行員,又損失4架戰(zhàn)機

      24小時內(nèi),美軍為營救飛行員,又損失4架戰(zhàn)機

      兵國大事
      2026-04-04 19:47:00
      62年印軍戰(zhàn)斗力如何?陰法唐回憶:很多戰(zhàn)斗,印軍戰(zhàn)死比被俘的多

      62年印軍戰(zhàn)斗力如何?陰法唐回憶:很多戰(zhàn)斗,印軍戰(zhàn)死比被俘的多

      云霄紀史觀
      2026-03-29 16:54:22
      杜鋒:薩林杰拉傷影響排兵布陣 崔永熙頂四號位贏下來非常不容易

      杜鋒:薩林杰拉傷影響排兵布陣 崔永熙頂四號位贏下來非常不容易

      狼叔評論
      2026-04-04 23:10:37
      5萬美軍突踩剎車!內(nèi)塔尼亞胡陷死局,狂咬中俄朝,死綁美國戰(zhàn)車

      5萬美軍突踩剎車!內(nèi)塔尼亞胡陷死局,狂咬中俄朝,死綁美國戰(zhàn)車

      小蔑談事
      2026-04-04 21:13:42
      歐洲媒體沉默了,500美軍在迪拜被一鍋端,傷亡竟只有13人?

      歐洲媒體沉默了,500美軍在迪拜被一鍋端,傷亡竟只有13人?

      趙枹是個熱血青年
      2026-04-03 21:16:56
      財神爺講述:做生意人理發(fā)最好的日子,每月這3天,剪一次旺一月

      財神爺講述:做生意人理發(fā)最好的日子,每月這3天,剪一次旺一月

      古怪奇談錄
      2026-03-24 10:23:03
      網(wǎng)購13.8元藍莓苗后選擇“僅退款”,兩天后女子收到“萬古流芳”殯葬用品

      網(wǎng)購13.8元藍莓苗后選擇“僅退款”,兩天后女子收到“萬古流芳”殯葬用品

      黃河新聞網(wǎng)呂梁
      2026-04-03 09:25:55
      1999 鶴壁特大奸殺案:房四平一腳跺殺人,囂張語錄震碎三觀

      1999 鶴壁特大奸殺案:房四平一腳跺殺人,囂張語錄震碎三觀

      咪咖事界
      2026-04-03 14:22:33
      于東來兒媳首次正面露面,顏值封神,和婆婆馬麗撞臉像復制粘貼

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

      往史過眼云煙
      2026-03-23 19:27:43
      以軍稱空襲德黑蘭多處關鍵基礎設施

      以軍稱空襲德黑蘭多處關鍵基礎設施

      界面新聞
      2026-04-04 14:34:26
      伊朗有救了?車臣開出參戰(zhàn)條件,局勢變成3對1,以色列遭南北夾擊

      伊朗有救了?車臣開出參戰(zhàn)條件,局勢變成3對1,以色列遭南北夾擊

      董董歷史燴
      2026-04-03 20:56:59
      金昊月薪1300元,瑤瑤媽媽是鄉(xiāng)長,并沒高攀他家,記者最新采訪

      金昊月薪1300元,瑤瑤媽媽是鄉(xiāng)長,并沒高攀他家,記者最新采訪

      漢史趣聞
      2026-04-04 17:17:30
      登貝萊:第一個進球?這種球如果讓我射十次,可能也就進一次

      登貝萊:第一個進球?這種球如果讓我射十次,可能也就進一次

      懂球帝
      2026-04-04 06:03:10
      美容院老板娘大實話:脫了衣服,女人的差距根本不在臉上!

      美容院老板娘大實話:脫了衣服,女人的差距根本不在臉上!

      夜深愛雜談
      2026-03-08 21:28:24
      漫步者把唱片機塞進了音箱,只賣269元

      漫步者把唱片機塞進了音箱,只賣269元

      灰度測試中
      2026-04-03 19:25:03
      美媒:美軍兩架搜救直升機被擊中 無人受傷

      美媒:美軍兩架搜救直升機被擊中 無人受傷

      新華社
      2026-04-04 04:12:04
      51歲周迅變樣:滿頭白發(fā)臉松垮,癟嘴像老奶奶,無兒無女成遺憾

      51歲周迅變樣:滿頭白發(fā)臉松垮,癟嘴像老奶奶,無兒無女成遺憾

      悅君兮君不知
      2026-03-20 12:19:00
      逼走陳忠和,打壓劉國梁,排擠郎平,90歲“體壇惡人”如今怎樣了

      逼走陳忠和,打壓劉國梁,排擠郎平,90歲“體壇惡人”如今怎樣了

      拳擊時空
      2026-04-03 05:53:14
      張雪評哪吒汽車“5億Logo”:張雪機車Logo是白送的

      張雪評哪吒汽車“5億Logo”:張雪機車Logo是白送的

      三言科技
      2026-04-04 17:35:26
      2026-04-05 01:12:49
      51Testing軟件測試網(wǎng) incentive-icons
      51Testing軟件測試網(wǎng)
      中國軟件測試人的精神家園
      1549文章數(shù) 13258關注度
      往期回顧 全部

      科技要聞

      內(nèi)存一年漲四倍!國產(chǎn)手機廠商集體漲價

      頭條要聞

      特朗普發(fā)文:距離一切災難降臨在伊朗頭上僅剩48小時

      頭條要聞

      特朗普發(fā)文:距離一切災難降臨在伊朗頭上僅剩48小時

      體育要聞

      剎不住的泰格·伍茲,口袋里的兩粒藥丸

      娛樂要聞

      Q女士反擊,否認逼宋寧峰張婉婷離婚

      財經(jīng)要聞

      中微董事長,給半導體潑點冷水

      汽車要聞

      17萬級海豹07EV 不僅續(xù)航長還有9分鐘滿電的快樂

      態(tài)度原創(chuàng)

      教育
      親子
      藝術
      時尚
      數(shù)碼

      教育要聞

      市教委最新數(shù)據(jù)出爐!小升初、初升高人數(shù)增幅過萬!三大動向獨家解讀

      親子要聞

      孕婦買200元水果被丈夫罵后續(xù):雙標到極致,家境曝光,網(wǎng)友勸離

      藝術要聞

      你絕對不能錯過的夢幻性感攝影作品!

      別再穿大一碼了!遮肉根本不是靠寬松

      數(shù)碼要聞

      今年新款AirPods Pro、Apple TV值得等嗎?升級方向曝光

      無障礙瀏覽 進入關懷版