Pytest+Allure2+Jenkins持续集成

发表于:2019-2-01 08:16

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:晴空    来源:51Testing软件测试网原创

  一:环境配置
  安装pytest
  pytest官网地址:https://github.com/pytest-dev/pytest/
  pytest第三方插件:http://plugincompat.herokuapp.com/
  前置条件:已安装Python环境
  使用pip安装pytest,在Dos窗口中执行pip install -U pytest命令:
  安装Allure2
  前置条件:已部署java环境
  allure 是一个轻量级的,灵活的,支持多语言,多平台的report框架
  Allure2官网地址:https://github.com/allure-framework/allure2
  Win10 安装allure2:需要在Power Shell窗口中执行scoop install allure命令:
  Win键+X 调出Power Shell窗口
  Power Shell窗口执行如下命令(先安装scoop):
  iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
  执行后,使用scoop命令查看是否正确安装(下图说明安装正确):
  Power Shell窗口执行scoop install allure命令(如下图安装成功):
  注意:win7下要执行pip install pytest-adaptor-allure安装allure的适配器!
  二:Pytest的参数详解
  2.1:--collect-only
  使用--collect-only选项可以展示在给定的配置下哪些测试用例会被执行。
  2.2:-k
  -k选项允许我们使用表达式指定希望执行的测试用例。
  2.3:-m
  -m(marker)用于标记测试并分组以便快速选择并执行测试用例。
  使用的前提条件是必须使用@pytest.mark.marker_name标记测试用例
  -m可以使用多个marker_name(标记名称),当然它也支持and not or这些规则。
  2.4:-x(--exitfirst)
  正常情况下,pytest会运行每个收集到的测试用例。如果某个测试函数被断言失败或者触发了外部异常,则该测试用例的运行就会终止,pytest将其标记为失败后会继续下一个测试用例。通常来说这是我们期望的运行模式。但是在debug时,我们会希望失败时立即终止整个会话,此时,-x选项就可以满足我们的需求了。
  2.5:--maxfail=num
  -x选项的特点是一旦遇到失败就会立即终止会话。如果我们允许pytest失败几次后再停止,那么就果断使用--maxfail选项吧。
  例子:pytest --maxfail=3(pytest执行过程中失败3次后终止会话)
  2.6:-s(--capture=method)
  -s选项允许终端在测试过程中输出某些结果,包括任何附和标准的输出流信息。-s等价于--capture=no。正常情况下,所有的测试输出都会被捕获。
  2.7:--lf(--last-failed)
  当一个或多个测试用例失败时,如果我们希望定位到最后一个失败的测试用例重新执行,此时,可以使用--lf选项。
  2.8:--ff(--failed-first)
  --ff和--lf选项的作用差不多,不同之处在于--ff会运行完剩余的测试用例。
  2.9:-v(--verbose)
  使用-v选项,输出的信息会更详细。
  2.10:-q(--quit)
  -q选项和-v选项作用相反,它会简化输出信息。
  2.11:-l(--showlocals)
  使用-l选项,失败的测试用例由于被堆栈追踪,所以局部变量及其值都会显示出来。
  2.12:--tb=style
  --tb选项觉得了捕获到失败时输出信息的显示方式。
  推荐的style类型有short,line,no。
  Short模式:仅输出assert的一行一级系统判定内容。
  line模式只使用一行输出显示所有的错误信息。
  no模式则直接屏蔽全部回溯信息。
  2.13:--duration=N
  --duration=N选项可以加快测试节奏。它不关心测试如何执行,只统计测试过程中哪几个阶段是最慢的,展示最慢的N个阶段,耗时越长越靠前。如果指定duration=0,将所有阶段按耗时从长到短排序后显示。


......
查看更多精彩内容,请点击下载:
版权声明:本文出自《51测试天地》第五十二期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号