pytest-切換環(huán)境(pytest-base-url)
當(dāng)我們自動(dòng)化代碼寫完成之后,期望能在不同的環(huán)境測試晒夹,這時(shí)候應(yīng)該把 base_url 單獨(dú)拿出來畅蹂,能通過配置文件和支持命令行參數(shù)執(zhí)行俭驮。
pytest-base-url 是 pytest 里面提供的一個(gè)管理 base-url 的一個(gè)非常實(shí)用的插件陶贼,參考文檔https://pypi.org/project/pytest-base-url/
環(huán)境準(zhǔn)備
先安裝 pytest-base-url 插件
pip install pytest-base-url
使用案例
直接在用例里面使用 base_url參數(shù) 當(dāng)成一個(gè)fixture使用
# test_demo.py
import requests
def test_example(base_url):
? ? assert 200 == requests.get(base_url).status_code
命令行執(zhí)行的時(shí)候加上 --base-url 參數(shù)
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%]
pytest.ini 配置文件
也可以在 pytest.ini 配置文件中添加 base_url 地址
# pytest.ini文件內(nèi)容
[pytest]
base_url = http://www.example.com
這樣在命令行執(zhí)行時(shí)候就可以不用帶上 --base-url 參數(shù)
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%]