pytest-bdd:用自然语言高效驱动Python接口与UI测试框架

引言

pytest-bdd 是一个专为Python设计的行为驱动开发(BDD)测试框架,它允许开发人员使用自然语言(如Gherkin)来编写测试用例,从而使测试用例更易于理解和维护。

安装

通过pip安装

pip install pytest-bdd

介绍

  • 特性文件(Feature File):定义了要测试的系统功能。通常以.feature为扩展名,并使用Gherkin语言编写。特性文件包含特性名称、描述以及一个或多个场景。
  • 场景文件(Scenario File):定义了特定场景的步骤。虽然pytest-bdd不直接要求场景文件具有特定的扩展名或格式,但通常会将场景步骤的定义放在Python测试文件中,并使用pytest-bdd提供的装饰器来映射场景文件中的步骤。
  • 步骤定义:将特性文件中的步骤映射到Python代码中的函数。这些函数使用pytest-bdd提供的@given、@when、@then等装饰器来定义。
  • 钩子:在特定测试事件(如测试开始或结束)时调用的函数。pytest-bdd提供了几个内置钩子,如before_scenario、after_scenario、before_step、after_step等,允许在测试的不同阶段执行自定义代码。

feature文件

首先整理好一个接口测试,需要用到的场景、参数等信息,写到feature文件中,以便根据各种测试中的行为来进行脚本实现。

接口测试

Feature: 用户接口测试

  Scenario: demo接口测试
    Given 初始化
    Given 登录
    When 调用 "/login" 接口
    When 使用 "post" 请求
    # post get put delete
    When 参数类型 "json"
    # params json form-data form-urlencoded
    When 请求头 "{'Content-Type': 'application/json','pro': 'RedRocket'}"
    When 参数 "{'username': 'admin', 'password': '123456'}"
    When 校验类型 "包含校验"
    # 校验类型: 包含校验 相等校验 字段类型校验 字段值校验 状态码校验
    When 校验文本 "登录成功"
    When 校验字段类型为 "str"
    # 字段类型:int str float list dict bool
    When 校验字段 "message"
    When 上传文件 "test.txt"
#    When 退出
    Then 调用成功

UI测试

Feature: 用户登录测试

  Scenario: demo UI测试
    Given 初始化
    Given 登录
    When 在元素 "login" 中,输入账号 "admin"
    When 在元素 "password"中,输入密码 "123456"
    When 点击 "login_button"
    When 校验元素 "check_element" 校验是否包含文本 "成功"
   	Then 退出

项目介绍

在这里插入图片描述

项目代码获取方式,公众号后台回复pytest-bdd获取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值