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

佛山企业网站设计新郑市网站建设定制开发

佛山企业网站设计,新郑市网站建设定制开发,铜仁 网站开发,百度竞价个人开户Python自动化测试框架【Allure-pytest功能特性介绍】 目录#xff1a;导读 前言 生成报告 测试代码 目录结构 Allure特性 Environment Categories Fixtures and Finalizers allure.attach 总结 写在最后 前言 Allure框架是一个灵活的轻量级多语言测试报告工具导读 前言 生成报告 测试代码 目录结构 Allure特性 Environment Categories Fixtures and Finalizers allure.attach 总结 写在最后 前言 Allure框架是一个灵活的轻量级多语言测试报告工具它不仅以web的方式展示了简介的测试结果而且允许参与开发过程的每个人从日常执行的测试中最大限度的提取有用信息。 从dev/qa的角度来看Allure报告简化了常见缺陷的统计失败的测试可以分为bug和被中断的测试还可以配置日志、步骤、fixture、附件、计时、执行历史以及与TMS和BUG管理系统集成所以通过以上配置所有负责的开发人员和测试人员可以尽可能的掌握测试信息。 从管理者的角度来看Allure提供了一个清晰的“大图”其中包括已覆盖的特性、缺陷聚集的位置、执行时间轴的外观以及许多其他方便的事情。allure的模块化和可扩展性保证了您总是能够对某些东西进行微调使Allure更适合您那么今天我们就来说说如何使报告更加详细的显示我们需要的信息以及allure与jenkins的集成 生成报告 pytest框架编写的项目如何生成测试报告这里将不再讲解具体过程可以参考我之前的文章往上翻能找得到。 注意python使用的allure插件为allure-pytest 测试代码 为了大家能够快速的认识allure的所有功能特性附上完整的测试代码  conftest.py  test_allure_feature.py  test_allure_fixture.py  categories.json  environment.properties  run.py 目录结构 ​ Allure特性 Environment 在Allure报告中添加环境信息通过创建environment.properties或者environment.xml文件并把文件存放到allure-results(这个目录是生成最后的html报告之前生成依赖文件的目录)目录下 environment.properties BrowserChrome Browser.Version63.0 StandProduction ApiUrl127.0.0.1/login python.Version3.6 或者 environment.xml environmentparameterkeyBrowser/keyvalueChrome/value/parameterparameterkeyBrowser.Version/keyvalue63.0/value/parameterparameterkeyStand/keyvalueProduction/value/parameterparameterkeyApiUrl/keyvalue127.0.0.1/login/value/parameterparameterkeypython.Version/keyvalue3.6/value/parameter /environment 执行run.py查看报告 ​ Categories 测试报告默认统计两种类型的测试用例结果失败的用例和故障测试用例我们可以自定义添加用例的统计类型同样需要在allure-results目录下新建categories.json文件 [{name: Ignored tests,matchedStatuses: [skipped]},{name: Infrastructure problems,matchedStatuses: [broken, failed],messageRegex: .*bye-bye.*},{name: Outdated tests,matchedStatuses: [broken],traceRegex: .*FileNotFoundException.*},{name: Product defects,matchedStatuses: [failed]},{name: Test defects,matchedStatuses: [broken]} ] 执行run.py查看报告 ​ Fixtures and Finalizers Fixtures和Finalizers是pytest在测试开始和测试结束调用的方法allure会自动跟踪每一个fixture的调用并且详细显示会调用哪些fixture和参数而且会保留正确的调用顺数 测试代码 test_allure_html.py def function_scope_step():print(function_scope_step)def class_scope_step():print(class_scope_step)def module_scope_step():print(module_scope_step)def session_scope_step():print(session_scope_step)def step_inside_test_body():print(step_inside_test_body)pytest.fixture(params[True, False], ids[param_true, param_false]) def function_scope_fixture_with_finalizer(request):if request.param:print(True)else:print(False)def function_scope_finalizer():function_scope_step()request.addfinalizer(function_scope_finalizer)pytest.fixture(scopeclass) def class_scope_fixture_with_finalizer(request):def class_finalizer_fixture():class_scope_step()request.addfinalizer(class_finalizer_fixture)pytest.fixture(scopemodule) def module_scope_fixture_with_finalizer(request):def module_finalizer_fixture():module_scope_step()request.addfinalizer(module_finalizer_fixture)pytest.fixture(scopesession) def session_scope_fixture_with_finalizer(request):def session_finalizer_fixture():session_scope_step()request.addfinalizer(session_finalizer_fixture)class TestClass(object):def test_with_scoped_finalizers(self,function_scope_fixture_with_finalizer,class_scope_fixture_with_finalizer,module_scope_fixture_with_finalizer,session_scope_fixture_with_finalizer):step_inside_test_body() 执行run.py查看报告 ​ allure.step pytest支持使用allure.step修饰某些测试用例中需要的函数使测试用例在allure报告中能够更加详细的显示测试过程 测试代码 test_allure_feature.py文件中修改如下代码 allure.step(输入用户名) def input_username():print(输入用户名)allure.step(输入密码) def input_password():print(输入密码) 执行run.py查看报告 ​ conftest.py allure.step修饰的测试步骤还支持在conftest.py文件中定义作为fixture的步骤现在我们在项目目录下新建conftest.py文件写入如下代码 conftest.py allure.step(打开浏览器) def fixture_step():passpytest.fixture def init_url():fixture_step()yield True test_allure_feature.py文件中添加如下用例 def test_init_url(self, init_url):flag init_urlassert flag True 执行run.py查看报告 ​ allure.attach 使用allure.attach可以给报告中添加文件图片loghtml代码等等。 我们修改test_allure_feature.py中如下用例 并在用例所在目录添加attach.png图片 def test_failed(self):failedtry:assert Falseexcept AssertionError as e:with open(attach.png, rb) as f:context f.read()allure.attach(context, 错误图片, attachment_typeallure.attachment_type.PNG)raise e 执行run.py查看报告 ​ allure.description 如果你想在报告中展示测试用例的描述信息那么你可以使用allure.description(string)或者allure.description_html(html代码)修饰你的测试用例test_allure_feature.py文件修改如下代码 allure.description(这是一个一直执行失败的测试用例)def test_failed(self):你也可以在这里添加用例的描述信息但是会被allure.description覆盖try:assert Falseexcept AssertionError as e:with open(attach.png, rb) as f:context f.read()allure.attach(context, 错误图片, attachment_typeallure.attachment_type.PNG)raise e 执行run.py查看报告 ​ allure.title 使用allure.title(title)可以重命名测试用例在allure报告中的名称test_allure_feature.py文件修改如下代码 allure.title(登录成功场景-{data})pytest.mark.parametrize(data, login_success_data, idsids_login_success_data)def test_login_success(self, data):测试登录成功user input_username(data[user])pwd input_password(data[pwd])result login(user, pwd)assert result data[expected] ​ allure.link allure.testcase allure.issue 这三种特性都可以给测试用例添加一个链接test_allure_feature.py文件修改如下代码 allure.testcase(https://www.cnblogs.com/linuxchao/, 测试用例地址)def test_init_url(self, init_url):flag init_urlassert flag Trueallure.link(https://www.cnblogs.com/linuxchao/, namebug链接)allure.description(这是一个一直执行失败的测试用例)def test_failed(self):你也可以在这里添加用例的描述信息但是会被allure.description覆盖try:assert Falseexcept AssertionError as e:with open(attach.png, rb) as f:context f.read()allure.attach(context, 错误图片, attachment_typeallure.attachment_type.PNG)raise eallure.issue(https://www.cnblogs.com/linuxchao/, 错误链接)def test_broken(self):brokenwith open(broken.json, r, encodingutf8) as f:f.read() 执行run.py查看报告 ​ ​ ​ allure.feature allure.story feature和story被称为行为驱动标记因为使用这个两个标记通过报告可以更加清楚的掌握每个测试用例的功能和每个测试用例的测试场景 在test_allure_feature.py文件中的测试类使用allure.feature修饰, 测试方法使用allure.story修饰 执行run.py查看报告 ​ 以上两种标记不仅仅能够在测试报告中显示而且还可以使用命令执行指定的测试模块或者场景 ​ allure.severity 此标记用来标识测试用例或者测试类的级别分为blockercriticalnormalminortrivial5个级别下面们把测试用例按级别标记并查看一下测试报告 ​ 总结 以上就是所有的allure-pytest插件在pytest中支持的大部分功能特性也许整理的不是很详细所以如果你想详细的了解具体的特性在报告中的效果还需自己动手尝试一下今天就讲到这了希望看到这篇文章的你能更好的理解pytest。 写在最后 如果你觉得文章还不错请大家 点赞、分享、留言 下因为这将是我持续输出更多优质文章的最强动力 看到这篇文章的人有觉得我的理解有误的地方也欢迎评论和探讨 你也可以加入下方的的群聊去和同行大神交流切磋
http://www.w-s-a.com/news/526312/

相关文章:

  • 铁岭 建筑公司网站 中企动力建设佛山app开发公司
  • 网站开发用的电脑深圳专业网站建设服务
  • 内容营销价值wordpress博客优化插件
  • 最优惠的郑州网站建设淘宝网商城
  • 做封面网站企业网站优化服务商
  • 电子商务网站设计是什么蚌埠铁路建设监理公司网站
  • .name后缀的网站做房产网站多少钱
  • 手机上传网站源码网站app封装怎么做
  • 做的网站放在阿里云网站建设投标书范本
  • 做文化传播公司网站wordpress仿简书
  • 什么网站有题目做西宁网站制作哪里好
  • 网站上添加图片的原则优易主机 wordpress
  • 用php做的网站源代码那里有做像美团的网站的
  • 网站建设百科有什么做兼职的网站
  • 创造网站电商网站建设方案道客巴巴
  • 南通设计网站建设wordpress时光轴
  • 郑州做网站企起网站建设 风险
  • 北京市保障性住房建设投资中心网站6大连广告设计与制作公司
  • 建站之星网站模板国内f型网页布局的网站
  • 怎么做网站关键词优化外贸网站 开源
  • 广东公司响应式网站建设设计seo系统是什么
  • 清丰网站建设费用网站建设的前途
  • 网站上那些兼职网页怎么做的北京网页
  • 桂林建站平台哪家好品牌设计公司宣传文案
  • 平面设计和建设网站的区别公司官网静态
  • h5网站建设+案例住房住房和城乡建设部网站
  • 建设股公司网站东莞建设网网上平台
  • 湖州吴兴建设局网站加强网站建设的
  • 茌平做网站公司专业商城网站建设报价
  • 网站结构图怎么画wordpress注册不发送件