pytest+allure+jenkins持续集成

一:环境配置

  安装pytest

  pytest官网地址:https://github.com/pytest-dev/pytest/

  pytest第三方插件:http://plugincompat.herokuapp.com/

  前置条件:已安装Python环境

  使用pip安装pytest,在Dos窗口中执行pip install -U pytest命令:

pytest+allure+jenkins持续集成_第1张图片

  安装Allure2

  前置条件:已部署java环境

  allure 是一个轻量级的,灵活的,支持多语言,多平台的report框架

  Allure2官网地址:https://github.com/allure-framework/allure2

  Win10 安装allure2:需要在Power Shell窗口中执行scoop install allure命令:

  Win键+X 调出Power Shell窗口

pytest+allure+jenkins持续集成_第2张图片

  Power Shell窗口执行如下命令(先安装scoop):

  iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

  执行后,使用scoop命令查看是否正确安装(下图说明安装正确):

pytest+allure+jenkins持续集成_第3张图片

  Power Shell窗口执行scoop install allure命令(如下图安装成功):

pytest+allure+jenkins持续集成_第4张图片

  注意:win7下要执行pip install pytest-adaptor-allure安装allure的适配器!

  二:Pytest的参数详解

  2.1:--collect-only

  使用--collect-only选项可以展示在给定的配置下哪些测试用例会被执行。

pytest+allure+jenkins持续集成_第5张图片

  2.2:-k

  -k选项允许我们使用表达式指定希望执行的测试用例。

pytest+allure+jenkins持续集成_第6张图片

  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,将所有阶段按耗时从长到短排序后显示。

转自:http://www.51testing.com/html/93/n-4457093.html

你可能感兴趣的:(Python学习笔记,pytest,allure)