pytest文档48-切换 base_url 测试环境(pytest-base-url)

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

这样在命令行执行时候就可以不用带上 --base-url 参数

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 ==========

以上是关于pytest文档48-切换 base_url 测试环境(pytest-base-url)的主要内容,如果未能解决你的问题,请参考以下文章

pytest + yaml 框架 -11.全局 base_url 配置

pytest文档64-内置 pytestconfig 动态添加和获取 pytest.ini 配置参数

Pytest测试框架一键动态切换环境思路及方案

赶快收藏,Pytest框架环境切换实战教程

自动化脚本如何切换环境?Pytest这些功能你必须要掌握

自动化脚本如何切换环境?Pytest这些功能你必须要掌握