当前位置: 首页 > news >正文

织梦绿色企业网站模板站长工具seo综合查询引流

织梦绿色企业网站模板,站长工具seo综合查询引流,江苏镇江疫情最新消息今天封城了,上海抖音推广Pytest-Bdd-Playwright 系列教程(15):背景(Background) 前言一、什么是背景(Background)二、特性文件三、测试脚本四、运行测试总结 前言 在测试的过程中,我们往往会遇到这样的问题&…

Pytest-Bdd-Playwright 系列教程(15):背景(Background)

  • 前言
  • 一、什么是背景(Background)
  • 二、特性文件
  • 三、测试脚本
  • 四、运行测试
  • 总结

前言

在测试的过程中,我们往往会遇到这样的问题:多个测试场景需要相同的前置条件。如果每个场景重复编写这些前置条件,不仅显得冗余,还增加了维护成本。因此,pytest-bdd框架通常提供一种机制来解决这一问题,那就是背景(Background)。

一、什么是背景(Background)

在pytest-bdd中,背景(Background)用于定义在每个场景执行之前需要共享的步骤。通过使用背景,我们可以避免在多个场景中编写相同的Given步骤,从而减少重复并提高可读性。背景中的步骤在每个场景执行之前都会被调用,这样可以确保所有场景都有相同的初始条件。

背景的应用实例

假设在多个场景中,计算器的初始化状态是相同的。如果没有背景,每个场景都需要重复编写初始化步骤。使用背景,能够确保每个场景的前置条件一致,简化了代码。

二、特性文件

首先,新增features/calculator_demo.feature文件。背景部分通常位于.feature文件的开头,格式及内容如下:

Feature: 计算器一个简单的计算器,用于执行基本的算术操作。Background:Given 我已经准备好计算器Scenario: 检查计算器的尺寸Then 计算器的宽度应该是 12.5And 计算器的高度应该是 20.0And 计算器的厚度应该是 0.5Scenario: 打开计算器Given 我按下电源按钮Then 屏幕应该亮起Scenario Outline: 两个数字的计算Given 我检查按钮是否正常And 第一个数字是 <first_number>And 第二个数字是 <second_number>When 我按下 <operation>Then 结果应该是 <expected_result>Examples:| first_number | second_number | operation | expected_result || 5            | 3            | 加号       | 8               || 10           | 4            | 减号       | 6               || 2            | 6            | 乘号       | 12              || 8            | 2            | 除号       | 4               |

在这个示例中,背景部分定义了一些共同的前置条件,这些条件会在每个场景执行之前自动运行。通过这种方式,可以确保每个场景开始时的条件是一致的,避免了代码重复。

三、测试脚本

然后,新增test_calculator_demo.py文件,内容如下:

from pytest_bdd import given, when, then, parsers, scenario@scenario('calculator_demo.feature', '检查计算器的尺寸')
def test_calculator_size():pass@scenario('calculator_demo.feature', '打开计算器')
def test_open_calculator():pass@scenario('calculator_demo.feature', '两个数字的计算')
def test_two_numbers_calculation():pass@given("我已经准备好计算器")
def _():print("计算器已准备好!")@given("我检查按钮是否正常")
def _():print("按钮已检查。")@given("我按下电源按钮")
def _():pass@then("屏幕应该亮起")
def _():pass@then(parsers.parse("计算器的宽度应该是 {expected_width:f}"))
def _(expected_width: float):print(f"宽度: {expected_width}")@then(parsers.parse("计算器的高度应该是 {expected_height:f}"))
def _(expected_height: float):print(f"高度: {expected_height}")@then(parsers.parse("计算器的厚度应该是 {expected_thickness:f}"))
def _(expected_thickness: float):print(f"厚度: {expected_thickness}")@given(parsers.parse("第一个数字是 {first_number:d}"), target_fixture="first_number")
def _(first_number):return first_number@given(parsers.parse("第二个数字是 {second_number:d}"), target_fixture="second_number")
def _(second_number):return second_number@when(parsers.parse("我按下 {operation}"), target_fixture="result")
def _(operation, first_number, second_number):if operation == "加号":return first_number + second_numberelif operation == "减号":return first_number - second_numberelif operation == "乘号":return first_number * second_numberelif operation == "除号":return first_number / second_numberelse:raise ValueError(f"不支持的操作: {operation}")@then(parsers.parse("结果应该是 {expected_result:d}"))
def _(result, expected_result):assert result == expected_result

在这段代码中,我们定义了与计算器相关的步骤,并通过pytest-bdd的装饰器将其与特性文件中的场景绑定,每个步骤都与特性文件中的Given、When、Then对应。

四、运行测试

使用以下命令运行测试:

pytest ./tests/test_calculator_demo.py

运行结果如下:
在这里插入图片描述

总结

使用背景(Background)可以让我们的BDD测试更具可维护性和可读性,减少重复的代码,并帮助确保测试场景中的前提条件始终一致。在实际的项目中,善用背景和BDD的相关功能,可以极大地提升测试代码的质量和执行效率。

http://www.dt0577.cn/news/9384.html

相关文章:

  • 做微网站的公司google seo 优化教程
  • 一个空间能放几个网站兰州做网站的公司
  • 六安公共招聘网厦门seo外包公司
  • 现在做网站开发十大新媒体平台有哪些
  • 网站logo做黑页百度竞价推广计划
  • 民治网站设计圳网站建设公司泰安seo推广
  • 旅游网站策划书模板使用网站模板快速建站
  • 青岛网站设计皆挺青岛博采网络软文写作模板
  • 网站项目规划与设计方案盘多多百度网盘搜索引擎
  • 现在还有企业要建网站吗广告推广投放平台
  • 站长之家网页模板国内军事新闻最新消息
  • wordpress获取视频缩略图唐山seo排名优化
  • 科技发展给我们的生活带来的变化免费的电脑优化软件
  • 太仓网站制作网站建设外贸建站与推广如何做
  • 建设一个网站的需求分析软件培训
  • 示范校建设平台网站典型案例b2b免费发布信息网站
  • 白石桥做网站公司我赢seo
  • django做网站比较容易谷歌seo怎么优化
  • 网站的数据库在哪里seo网站优化培训要多少钱
  • 如何开发手机端网站湖南seo博客seo交流
  • 新手学做网站pdf手百度小说app下载
  • 重庆做网站_重庆网站建设_重庆网络推广_重庆网络公司上海网络营销上海网络推广
  • php网站开发怎么接私活seo外包是什么意思
  • 设计什么网站简单湖南seo优化排名
  • 网站建站手机关键词优化公司靠谱推荐
  • 用java做网站可以吗没经验怎么开广告公司
  • 北京站制作网站模板
  • 怎么查询一个网站从哪做的网站seo 优化
  • 网络兼职正规网站在家网上做兼职微商引流被加方法精准客源
  • 哪里可以做网站开发长尾关键词挖掘工具