Python+Request+pytest+allure实现的接口自动化测试——简介

1、pytest注意事项:

pytest 是一个常用的 Python 测试框架,它具有许多强大的功能和扩展性。当与 requests 库结合使用时,可以方便地进行 Web API 的测试。在使用 pytest 进行测试时,有一些命名规范可以遵循,以便更好地组织和管理测试代码。以下是常见的 pytest 命名要求:

①. 测试文件的命名规范:

    - 测试文件应该以 `test_` 开头或者以 `_test.py` 结尾。
    - 例如,`test_calculation.py` 或者 `calculation_test.py`。

②. 测试函数的命名规范:

    - 测试函数应该以 `test_` 开头。
    - 例如,`def test_addition()` 或者 `def test_subtraction()`。

③. 测试类的命名规范:

    - 如果您使用类来组织测试,类名应该以 `Test` 开头,并且不能包含下划线。
    - 例如,`class TestCalculation()`。

这些命名规范有助于 pytest 自动识别测试,并且可以更好地组织和查找你的测试代码。请注意,当你运行 pytest 时,它会自动查找符合这些命名规范的函数和类,并执行相应的测试。重要的是要保持一致性,遵循这些命名规范能够使您的测试代码更易读和易于维护。在命令行上运行 pytest 命令,它将自动运行当前目录下的所有测试用例,所以命名不规范会少执行用例;

2、request和pytest:

耳熟能详的python就不再赘述了,这里简单介绍一下pytest和request。

①request

以下是 requests 常见的一些方法和用法:

# 以下是 requests 常见的一些方法和用法:
# 发送 GET 请求:
response = requests.get(url, params=params, headers=headers)
# 发送 POST 请求:
response = requests.post(url, data=data, json=json_data, headers=headers)
# 发送 PUT 请求:
response = requests.put(url, data=data, headers=headers)
# 发送 DELETE 请求:
response = requests.delete(url, headers=headers)
# 获取响应的文本内容:
response_text = response.text
# 获取响应的 JSON 数据:
response_json = response.json()
# 获取响应的二进制数据:
response_content = response.content
# 获取响应头:
response_headers = response.headers


requests 还支持其他许多功能和参数,如设置请求超时时间、处理重定向、处理 Cookies 等。它具有简单易用的接口和丰富的文档,广泛应用于 Web 开发中的 HTTP 请求和响应处理。

②pytest

pytest 是一个常用的 Python 测试框架,它提供了简单且强大的工具来编写和运行测试用例。pytest 具有易于使用的语法,使得编写清晰、可读性高的测试代码变得简单,以下是 pytest 的一些特点和优势:

  • 简洁的语法:pytest 提供了一种简洁且易于理解的语法,使得编写测试用例变得更加直观和简单。
  • 自动发现测试用例:pytest 可以自动发现以 test_ 开头的函数、以 test 开头的方法和以 Test 开头的类,并将它们视为测试用例进行执行。
  • 丰富的断言:pytest 内置了丰富的断言方法,可以轻松地编写断言来验证测试的预期结果。
  • 丰富的扩展性:pytest 支持插件系统,可以通过插件来扩展其功能,如测试覆盖率、HTML 报告等。
  • 高度可定制化:pytest 提供了许多命令行选项和配置选项,可以根据需求进行定制和配置。
  • 支持标记和跳过测试:pytest 支持使用自定义的标记对测试用例进行分类,以便只运行特定的测试用例或跳过某些测试用例。
  • 并行执行:pytest 支持并行执行测试用例,加快测试的运行速度。
# pytest使用assert断言来验证预期结果
assert 200 == response.status_code
assert "成功" in response.text
assert 401 == response.json().get("code")

3、Allure生成测试报告:

Allure 是一个功能强大的开源测试报告框架,用于生成漂亮、交互式的测试报告。它与 pytest 结合使用,可以为测试结果提供可视化和详细的报告,使测试结果更加易于理解和分析。注意:需要安装java环境

①优势:

以下是一些 Allure 的特点和优势:

  • 漂亮的报告界面:Allure 生成的测试报告具有漂亮且易于阅读的界面,以图表、图像和图表的形式展示测试结果。
  • 详细的测试结果:Allure 报告能提供详细的测试结果信息,包括测试用例的执行状态、运行时间、错误信息、附件等。
  • 多种图表视图:Allure 可以生成各种图表视图,如测试用例的执行时间分布、测试用例的失败和通过情况等。
  • 灵活的标记和过滤:Allure 支持根据标记和过滤器来显示特定的测试结果,以便更好地分析和定位问题。
  • 支持多语言:Allure 支持多种语言,包括 Java、Python、Ruby、C#等,可以在不同的测试框架中使用。
②安装及使用

使用下方命令进行安装

pip install pytest-allure

在pytest.ini文件中定义好pytest的配置文件

# pytest配置文件
[pytest]
addopts = -s --alluredir report
testpaths = ./scropt
python_files = test*.py
python_classes = Test*
python_functions = test*

生成报告:先运行pytest运行测试用例,在使用allure生成报告命令生成报告

# 控制台先运行
pytest

# 用例运行结束后运行
allure serve report

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力努力再努力D40

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值