<tr id="tp1vn"><td id="tp1vn"><dl id="tp1vn"></dl></td></tr>
  1. <p id="tp1vn"></p>
  2. <sub id="tp1vn"><p id="tp1vn"></p></sub>
    <u id="tp1vn"><rp id="tp1vn"></rp></u>
    <meter id="tp1vn"></meter>
      <wbr id="tp1vn"><sup id="tp1vn"></sup></wbr>
      日韩第一页浮力,欧美a在线,中文字幕无码乱码人妻系列蜜桃 ,国产成人精品三级麻豆,国产男女爽爽爽免费视频,中文字幕国产精品av,两个人日本www免费版,国产v精品成人免费视频71pao
      網易首頁 > 網易號 > 正文 申請入駐

      技術分享:如何用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-05-11 05:19:18
      顧客點一盤黃燜雞吃出24塊雞頭,云南一餐館回應:十幾只雞放一起沒分勻,已免單;市監所:已有人員前往現場處置

      顧客點一盤黃燜雞吃出24塊雞頭,云南一餐館回應:十幾只雞放一起沒分勻,已免單;市監所:已有人員前往現場處置

      大風新聞
      2026-05-10 15:07:05
      湖人0-3驗出3大水貨!25歲新星黯淡,兩大引援成敗筆:白扔2300萬

      湖人0-3驗出3大水貨!25歲新星黯淡,兩大引援成敗筆:白扔2300萬

      李喜林籃球絕殺
      2026-05-10 12:28:17
      10億都救不了一命!京東副總裁蔡磊,生命進入倒計時

      10億都救不了一命!京東副總裁蔡磊,生命進入倒計時

      聽風喃
      2026-04-06 11:16:04
      從緬甸槍口下救回男友,她卻等不來婚禮:網貸,比電詐更狠的刀子

      從緬甸槍口下救回男友,她卻等不來婚禮:網貸,比電詐更狠的刀子

      許三歲
      2026-05-10 18:48:07
      中央第四生態環境保護督察組向廣東省交辦第一批案件情況

      中央第四生態環境保護督察組向廣東省交辦第一批案件情況

      新快報新聞
      2026-05-10 21:44:25
      “紙上安全”VS現實噩夢:華為問界產業鏈為何淪為“忽悠型”造車的重災區?

      “紙上安全”VS現實噩夢:華為問界產業鏈為何淪為“忽悠型”造車的重災區?

      SmartHey
      2026-05-08 10:10:02
      張軍被查創下多個尷尬“紀錄”,18年前曾因酒駕被查

      張軍被查創下多個尷尬“紀錄”,18年前曾因酒駕被查

      元芳有看法
      2026-04-30 09:25:44
      奧沙利文剛打完比賽就忘了對手是誰,本能的用中文與英國記者對話

      奧沙利文剛打完比賽就忘了對手是誰,本能的用中文與英國記者對話

      楊華評論
      2026-05-10 17:33:46
      殺瘋了!南昌拿下全國第一!英雄城這次的排面徹底拉滿

      殺瘋了!南昌拿下全國第一!英雄城這次的排面徹底拉滿

      阿萊美食匯
      2026-05-11 05:42:52
      60歲蔣雯麗現狀:定居英國,素顏又瘦又老,沒想到一代女神也老了

      60歲蔣雯麗現狀:定居英國,素顏又瘦又老,沒想到一代女神也老了

      娛說瑜悅
      2026-03-20 14:38:40
      安徽一女老師點外賣,發現騎手是曾經的學生:兼職賺錢,肯努力的人,永遠都在發光

      安徽一女老師點外賣,發現騎手是曾經的學生:兼職賺錢,肯努力的人,永遠都在發光

      瀟湘晨報
      2026-05-09 15:49:26
      山西隊G2為什么輸給廣廈?潘江毫不遮掩揭秘原因,說得很實在

      山西隊G2為什么輸給廣廈?潘江毫不遮掩揭秘原因,說得很實在

      老癘體育解說
      2026-05-11 07:04:32
      船上病毒爆發,她老公死了。船長說是自然死亡,大家去擁抱安慰她,然后她也死了...

      船上病毒爆發,她老公死了。船長說是自然死亡,大家去擁抱安慰她,然后她也死了...

      英國那些事兒
      2026-05-09 23:12:15
      iPhone系統垃圾一鍵清理,26G變8G,告別卡頓超耐用

      iPhone系統垃圾一鍵清理,26G變8G,告別卡頓超耐用

      小柱解說游戲
      2026-04-28 16:31:31
      NBA季后賽:首個四強誕生!他們0-4遭橫掃,尼克斯闖進東決!

      NBA季后賽:首個四強誕生!他們0-4遭橫掃,尼克斯闖進東決!

      小徐講八卦
      2026-05-11 06:23:47
      一家三口長時間停車開空調,險些喪命!

      一家三口長時間停車開空調,險些喪命!

      環球網資訊
      2026-05-09 19:55:37
      伴侶想要“性福”,先停止這3種“床上暴力”

      伴侶想要“性福”,先停止這3種“床上暴力”

      精彩分享快樂
      2026-05-11 07:10:06
      我發現,被領導提拔的女護士都有一個共性

      我發現,被領導提拔的女護士都有一個共性

      護理傳真
      2026-05-09 18:08:49
      50歲查理茲·塞隆自曝不婚原因:睡小鮮肉太爽了!

      50歲查理茲·塞隆自曝不婚原因:睡小鮮肉太爽了!

      阿廢冷眼觀察所
      2026-05-05 14:57:32
      2026-05-11 07:44:49
      51Testing軟件測試網 incentive-icons
      51Testing軟件測試網
      中國軟件測試人的精神家園
      1567文章數 13263關注度
      往期回顧 全部

      科技要聞

      OPPO們永遠學不會的年輕化

      頭條要聞

      特朗普:伊朗的回應“完全不可接受”

      頭條要聞

      特朗普:伊朗的回應“完全不可接受”

      體育要聞

      那個曾讓詹姆斯抱頭的兄弟,40歲從大學畢業了

      娛樂要聞

      趙露思老實人豁出去了 沒舞蹈天賦硬跳

      財經要聞

      白酒大逃殺

      汽車要聞

      軸距加長/智駕拉滿 阿維塔07L定位大五座SUV

      態度原創

      藝術
      健康
      教育
      房產
      時尚

      藝術要聞

      全國最值得去的八大最美古鎮

      干細胞能讓人“返老還童”嗎

      教育要聞

      女孩分享初中生毀掉前途的五個壞習慣

      房產要聞

      低價甩賣!海口這個地標商業,無人接盤!

      真愛大牌|| 用了4年都不舍得換,終于把小貴的價格也磨下來了

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 99RE6在线观看国产精品| 亚洲一区二区无码偷拍| 亚洲人午夜精品射精日韩| av电影一区| 色香欲综合网| 亚洲日本人成网站在线观看| 国产成人无码网站| 亚洲综合色自拍一区| 人妻色综合| 48久久国产精品性色aⅴ人妻 | 人妻少妇精品久久久久久0000| 日韩精品人妻系列无码| 成全视频在线观看免费高清下载| 麻豆网神马久久人鬼片| 日韩精品一区二区三区久| 亚洲一区中文字幕在线观看| 2022AV一区在线| 成人黄色电影网址| 一本之道高清无码视频| 日韩不卡一区二区在线观看| 日韩av一二区| 欧美亚洲国产精品久久蜜芽| 尤物爽到高潮潮喷视频大全| 午夜福利麻豆国产精品| 人妻少妇偷人无码视频| 久久精品一区| 亚洲综合国产一区二区三区| 久久综合九色综合97网| 国产v亚洲v天堂a无码99| 成人无码视频97免费| 粉嫩高潮美女一区二区三区| 国产人妻鲁鲁一区二区| 精品人妻天堂| 欧美日韩综合在线视频免费看| 亚洲av永久无码精品天堂久久| 成人做爰A片100部免费| 天天躁日日躁欧美老妇| 国产精品久久久久久久久齐齐| 日韩欧美在线综合网| 久热99热这里只有精品| 国产香蕉av|