1. 程式人生 > 實用技巧 >pytest文件48-切換 base_url 測試環境(pytest-base-url)

pytest文件48-切換 base_url 測試環境(pytest-base-url)

前言

當我們自動化程式碼寫完成之後,期望能在不同的環境測試,這時候應該把 base_url 單獨拿出來,能通過配置檔案和支援命令列引數執行。
pytest-base-url 是 pytest 裡面提供的一個管理 base-url 的一個非常實用的外掛,參考文件https://pypi.org/project/pytest-base-url/

環境準備

先安裝 pytest-base-url 外掛

pip install pytest-base-url

使用案例

直接在用例裡面使用 base_url引數 當成一個fixture使用

# test_demo.py
import requests
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/

def test_example(base_url):
    assert 200 == requests.get(base_url).status_code

命令列執行的時候加上 --base-url 引數

pytest --base-url http://www.example.com

D:\soft\web_base>pytest --base-url http://www.example.com
=========== test session starts ==============
platform win32 -- Python 3.6.0, pytest-4.5.0, py-1.5.4, pluggy-0.13.1
baseurl: http://www.example.com
rootdir: D:\soft\web_base
plugins: allure-pytest-2.8.6, base-url-1.4.2
collected 1 item

test_demo.py .                               [100%]

============= 1 passed in 0.73 seconds ============

pytest.ini 配置檔案

也可以在 pytest.ini 配置檔案中新增 base_url 地址

# pytest.ini檔案內容
[pytest]
base_url = http://www.example.com

這樣在命令列執行時候就可以不用帶上 引數

D:\soft\web_base>pytest
============== test session starts ================
platform win32 -- Python 3.6.0, pytest-4.5.0, py-1.5.4, pluggy-0.13.1
baseurl: http://www.example.com
rootdir: D:\soft\web_base, inifile: pytest.ini
plugins: allure-pytest-2.8.6,  base-url-1.4.2
collected 1 item

test_demo.py .           [100%]

============ 1 passed in 1.72 seconds ==========