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

智能化网站建设什么样建网站

智能化网站建设,什么样建网站,舟山建设网站公司,建设网站专家在 Pytest 测试框架中#xff0c;conftest.py 是一个特殊的文件#xff0c;用于定义测试会话的共享配置和通用功能。它是 Pytest 的核心功能之一#xff0c;可以用于以下目的#xff1a; 【主要功能】 1、定义共享的 Fixture #xff08;1#xff09;conftest.py 文件可…在 Pytest 测试框架中conftest.py 是一个特殊的文件用于定义测试会话的共享配置和通用功能。它是 Pytest 的核心功能之一可以用于以下目的 【主要功能】 1、定义共享的 Fixture 1conftest.py 文件可以存放常用的测试前置fixture代码供同目录下或子目录中的测试用例直接使用而无需显式导入。 参考前面的文章全面解析 pytest fixture使用方法、实战技巧与最佳实践-CSDN博客 2fixture 是 pytest 用来管理测试用例依赖的核心机制可以用于设置测试前后需要的做的内容通过yield实现例如启动appium server、启动app等。 参考前面的文章全面解析 pytest fixture使用方法、实战技巧与最佳实践-CSDN博客 2、自定义钩子函数Hooks 1Pytest 提供了一系列的钩子Hooks函数用于扩展测试框架行为。例如     a. 在测试会话开始或结束时执行特定代码下面是iOS UI自动化每条用例执行结束后如果failed会截一张图并附加到allure报告中并且把当次执行的结果passed、failed、skipped输出到日志中 pytest.hookimpl(tryfirstTrue, hookwrapperTrue) def pytest_runtest_makereport(item, call):outcome yieldrep outcome.get_result()if rep.when call:if rep.failed:logger.error(fTest {item.nodeid}: FAILED\n)driver item.funcargs[ios_driver]screenshot_path take_screenshot(driver)with open(screenshot_path, rb) as image_file:allure.attach(image_file.read(), name测试未通过截图, attachment_typeallure.attachment_type.PNG)if call.excinfo:error_message str(call.excinfo.value)logger.error(fTest {item.nodeid} failed with error: {error_message}\n)elif rep.skipped:outcome_status SKIPPEDlogger.info(fTest {item.nodeid}: {outcome_status}\n)else:outcome_status PASSEDlogger.info(fTest {item.nodeid}: {outcome_status}\n) b. 修改收集测试用例的行为。 2这些钩子函数通常也会放在 conftest.py 中。 3、参数化和共享配置   可以在 conftest.py 中为多个测试用例设置公共的参数化数据或共享变量或者通过conftest.py 集中管理其他fixture例如在本次的iOS UI自动化项目中把用到的设备数据单独放在了test_data_fixture.py中数据格式如下在conftest.py中引用test_data_fixture.py通过 conftest.py 来集中管理所有 fixture避免了在每个测试文件中都需要导入多个 fixture 文件 # conftest.pyfrom test_data_fixture import * # test_data_fixture.py# 设备数据 pytest.fixture(scopemodule) def device_data(request):from network_request import get_dev_name_over_requestdev_model request.paramdev_name get_dev_name_over_request(dev_model)if dev_model CCC:result clear_sandbox_log(iPhoneX)return {iphone_model: iPhoneX,sn: CCC2DA110012345,dev_model: CCC,dev_name: dev_name,sleep_time: 25}elif dev_model LLL:result clear_sandbox_log(iPhoneX)return {iphone_model: iPhoneX,sn: CCC2DA110012345,dev_model: CCC,dev_name: dev_name,sleep_time: 35}else:raise ValueError(Unknown device model: {}.format(dev_model))4、灵活的作用域控制   通过设置 fixture 的作用域function、class、module 或 session可以让它们在不同层次的测试中共享减少冗余。 参考前面的文章全面解析 pytest fixture使用方法、实战技巧与最佳实践-CSDN博客 5、层级作用域   每个目录都可以有自己的 conftest.py这些文件会在测试运行时自动被发现且只会作用于其所在目录及子目录中的测试用例。 【conftest.py 的加载规则】 1、不需要显式导入pytest 会自动发现 conftest.py 文件。 2、每个目录下的 conftest.py 仅影响该目录及其子目录的测试用例。 3、同名的 fixture 或配置会覆盖上层目录的内容。 示例 1共享 Fixture 目录结构 project/ │ ├── conftest.py ├── tests/ │ ├── test_login.py │ ├── test_dashboard.py# conftest.pyimport pytest# 定义一个共享的 Fixture pytest.fixture(scopesession) def setup_environment():print(\nSetting up the environment)yieldprint(\nTearing down the environment)# test_login.pydef test_login(setup_environment):# 测试用例会自动调用 setup_environment Fixtureprint(\nRunning login test)assert 1 1# test_hahahah.pydef test_hahahah(setup_environment):# 测试用例会自动调用 setup_environment Fixtureprint(\nRunning hahahah test)assert 2 2$ pytest -s Setting up the environment Running login test . Running hahahah test . Tearing down the environment【注意事项】 1、避免在 conftest.py 中包含业务逻辑       conftest.py 应该仅用于配置和工具代码不建议放置实际的测试逻辑。 2、fixture 名称避免冲突      如果在多个 conftest.py 文件中定义了同名的 fixturepytest 会根据目录层级覆盖上层目录的定义。 3、调试时避免命名冲突       如果测试用例或模块中定义了与 conftest.py 中同名的 fixturepytest 优先使用本地的 fixture。 【总结】 conftest.py 是 Pytest 中一个用于集中管理共享配置的工具可以极大地提高测试代码的可维护性和复用性。对于复杂的测试框架来说合理使用 conftest.py 是非常关键的一部分。
http://www.dnsts.com.cn/news/270917.html

相关文章:

  • 网站开发用台式机电脑配置宁波网站建设优化企业推荐
  • 做发帖的网站代码媒体资源
  • 网站重新备案需要多长时间免费软件app推荐
  • 哪个网站买域名便宜php网站开发文本格式设置
  • 网站分析一般要重点做哪几项内容网站支付平台是怎么做的
  • 海南那个网站可以做车年检wordpress 特色 外链
  • 婚车租赁网站怎样做传奇网址
  • 网站缓存实例网络规划设计师论文50套范文
  • 钦州做网站的公司张家口网站建设电话
  • 音视频网站建设可行性报告wordpress变更域名插件
  • 江苏国家住房和城乡建设部网站网站服务器镜像
  • 井祥交通建设工程有限公司 网站wordpress好卡
  • 晋江做网站模板视频网站调用
  • 山东省建设招标信息网站wordpress读什么
  • asp怎么做网站nginx部署wordpress
  • 网站建设三网合一指的是什么意思天涯社区和海南在线不能正常访问
  • 电子商务平台网站模板图派科技做网站怎么样
  • c 网站开发济南市工程造价信息网
  • 常州网站建设效果安卓软件开发自学教程
  • 怎么做校园表白墙网站wordpress字不能
  • html网站怎么做几个网页广西建网站公司
  • pc网站开发使用什么布局好免费注册淘宝店铺
  • 淘宝网站c 设计怎么做的做图网站有哪些
  • 自己做网站处理图片用什么软件ui网页设计规则
  • 查询网站开发的端口手机360优化大师官网
  • 建设行业网站平台的瓶颈企业高端网站建设
  • 邢台网站建设最新报价深圳企业网站建设服务中心
  • 在线做漫画的网站好商丘网
  • 根河企业网站建设网站建设制作方式有哪些
  • html5 网站开发 适配自助 建站