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

北京门户网站开发wordpress获取分类列表和分页

北京门户网站开发,wordpress获取分类列表和分页,河南省建筑一体化平台管理系统,北京网站建设定制文章目录 1.前言2.使用fixture执行前置操作3.使用conftest共享fixture4.使用yield执行后置操作 1.前言 在pytest中#xff0c;fixture是一个非常强大和灵活的功能#xff0c;用于为测试函数提供固定的测试数据、测试环境或执行一些前置和后置操作等#xff0c; 与setup和te… 文章目录 1.前言2.使用fixture执行前置操作3.使用conftest共享fixture4.使用yield执行后置操作 1.前言 在pytest中fixture是一个非常强大和灵活的功能用于为测试函数提供固定的测试数据、测试环境或执行一些前置和后置操作等 与setup和teardown类似。 2.使用fixture执行前置操作 示例 import pytestpytest.fixture() def fixture():print(执行前置操作)def test_01(fixture):assert 11def test_02():assert 22if __name__ __main__:pytest.main()运行结果中可以看到第一条测试用例执行时输出了“执行前置操作” 定义fixture使用pytest.fixture装饰器来定义一个fixture函数。 注意测试用例中传递的fixture是将定义好的函数名传过去的 作用域fixture的作用域决定了它在测试中的生命周期和应用范围通过scope参数来指定有以下几种常见的作用域 function默认每个测试函数都会调用一次fixture。class每个测试类中的所有测试方法共享同一个fixture实例在测试类的所有测试方法执行前创建执行完后销毁。module在整个测试模块中只创建一次fixture实例模块中的所有测试函数和测试类共享。session在整个测试会话期间只创建一次fixture实例所有测试模块、测试类和测试函数都共享。 除了之外可以通过params参数为fixture传递不同的参数值实现参数化测试。 import pytestpytest.fixture(params[1, 2, 3]) def parameter_fixture(request):return request.paramdef test_parameterized(parameter_fixture):print(f测试参数: {parameter_fixture})assert parameter_fixture 0fixture函数中的变量名必须为request。 运行结果 如果觉得每次使用fixture函数的时候都需要将fixture函数当参数传入测试用例中比较麻烦可以在fixture import pytestpytest.fixture(autouse True) def test_fixture():print(执行前置操作)def test_01():assert 11def test_02():assert 22if __name__ __main__:pytest.main()运行结果 3.使用conftest共享fixture 在 pytest 中conftest.py 是一个非常重要的文件它主要用于在多个测试文件之间共享 fixture、钩子函数等帮助组织和管理测试代码。 使用conftest.py注意事项 conftest.py为固定写法不能修改名字使用conftest.py文件方法无需倒入位于项目的根目录那么它定义的 fixture 和钩子函数对整个项目的测试文件都有效。如果 conftest.py 位于某个子目录下那么它定义的内容只对该子目录及其子目录下的测试文件有效。 示例 创建conftest.py文件在根目录下并输入以下内容 import pytest from selenium import webdriver from selenium.webdriver.chrome.service import Servicepytest.fixture(scopesession) def driver():driver webdriver.Chrome()driver.maximize_window()return driver创建一个文件测试conftest中fixture函数 代码如下 import pytestdef test_01(driver):driver.get(https://www.baidu.com/)title driver.titleassert title 百度一下你就知道def test_02(driver):driver.get(https://www.bilibili.com/)url driver.current_urlassert url https://www.bilibili.com/if __name__ __main__:pytest.main()执行结果 可以看出fixture函数成功运行了但是上述代码中虽然有前置获取浏览器驱动的操作但没有关闭浏览器驱动虽然会自动关闭但最好还是自己手动释放一下。如果想要执行后置操作就需要使用yield 4.使用yield执行后置操作 在 pytest 的 fixture 函数里yield 关键字用于分隔测试的前置和后置操作。在 yield 之前的代码会在测试用例执行前运行起到初始化环境、准备数据等前置操作的作用yield 之后的代码会在测试用例执行完毕后运行用于清理资源、恢复环境等后置操作。 将conftest.py中代码修改一下 pytest.fixture(scopesession) def driver():driver webdriver.Chrome()driver.maximize_window()print(打开浏览器)yield driverprint(关闭浏览器)driver.quit()注意这里是yield driver而不是return driver 当 fixture 函数中使用 return driver 时函数执行到 return 语句就会立即返回 driver 对象并终止函数的执行不会再执行 return 语句之后的代码。yield 关键字使 fixture 函数成为一个生成器函数。当执行到 yield driver 时函数会暂停执行并返回 driver 对象给测试用例使用。当测试用例执行完毕后fixture 函数会从 yield 语句的下一行继续执行。 再次执行刚才的测试用例 可以看到有输出语句说明yield后面的代码被执行到了
http://www.w-s-a.com/news/460754/

相关文章:

  • 北京专业的网站建设西安企业家名单
  • 移动网站开发服务器丰都集团网站建设
  • 网站开发逻辑图烫画图案设计网站
  • 客户管理系统哪找公司网站如何做优化
  • 常德企业网站建设广州站在哪里
  • 移动端网站建站视频教程网站如何做淘客
  • 注册网站会不会有风险网站建设实训致谢语
  • ssh框架做的家政服务网站需要做网站建设的公司
  • 众筹网站制作长春高端网站建设
  • 亳州网站网站建设wordpress汉化.po
  • 怎样给建设的网站提意见网红营销概念
  • 怎么知道一个网站是谁做的广告行业网
  • 上海app定制开发公司大城网站优化
  • 工厂 网站建设北京招聘网站设计师
  • 企业网站建设与网络营销的关系网页qq音乐在线听
  • 网站如何制作学校的做做代销的网站
  • 灌云网站建设维护常州市天宁区建设局网站
  • 广州中小企业网站建设网络营销平台的类型
  • 做非遗网站的原因wordpress ip 插件
  • 微信企业网站 源码下载wordpress 4.9.5 太卡
  • 湖北网站建设公司哪家好房地产最新政策调整
  • 重庆建设岗位培训网站今天重大新闻乌克兰
  • 流水线 东莞网站建设如何在网上销售产品
  • 哪些做图片赚钱的网站网站建设销售业绩任务
  • 建立网站 知乎如何做网站的图片滑动块
  • 国外做珠宝的网站有哪些滨湖区建设局官方网站
  • 关于中国幼教网站开发的经验中国建设银行晋中分行网站
  • 挪威网站后缀如何外贸网络推广
  • 外汇交易网站开发仟亿家设计软件好吗亿家
  • 专门教做甜品的网站郑州高新区建设环保局网站