pytest+allure+jenkins持续集成

13 篇文章 0 订阅
2 篇文章 0 订阅

一:环境配置

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

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

pytest是一个用于Python编写的测试框架,它结合了unittest和nose等测试工具的优点,具有简单易用、灵活且可扩展的特点。pytest允许我们使用简洁的语法编写测试用例,并提供了丰富的断言库和丰富的插件支持,方便我们编写高效、可维护的自动化测试脚本。 而Allure是一种生成漂亮报告的测试结果框架,它支持多种编程语言,并提供了美观直观的图表、图标和饼状图,可以展示测试结果的统计数据,以及失败和通过测试的详细信息。通过Allure的报告,我们可以更加直观地查看测试结果,方便问题的定位和分析。 Jenkins是一个流行的持续集成和持续交付工具,它可以帮助我们自动化构建、测试和部署软件项目。Jenkins提供了丰富的插件生态系统,可以与各种测试框架和工具集成,如pytestAllure。通过与Jenkins的集成,我们可以实现自动化的测试和报告生成,减少了人工操作和提高了测试效率。 因此,结合pytestAllureJenkins,我们可以实现一个完整的自动化测试和报告系统。我们可以通过编写pytest脚本编写测试用例,并使用pytest插件生成Allure报告。然后,我们可以将这些脚本配置到Jenkins中,形成一个定期执行的自动化测试任务。Jenkins会自动运行测试脚本,并生成带有Allure报告的测试结果。我们可以通过Jenkins的UI界面,方便地查看测试结果,帮助我们及时发现和解决问题。 总结起来,pytestAllureJenkins的结合为我们的自动化测试提供了全方位的支持,能够让我们更加高效地进行软件测试,并通过直观的报告帮助我们更好地理解测试结果。这样,我们可以更加准确地判断软件质量,提高软件开发的效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值