行为驱动自动化脚本与Jenkins配置持续集成

Posted 聆播微布

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了行为驱动自动化脚本与Jenkins配置持续集成相关的知识,希望对你有一定的参考价值。

主要内容

  • Cucumber的命令行模式

  • CukeTest命令行模式运行

  • Jenkins持续集成配置

  • Jenkins配置测试报告插件

  • 总结


Cucumber行为驱动(BDD)自动化脚本是自动化测试行业里非常流行的自动化测试方案,因为它有清晰易懂,便于交流,可维护性强等多种特点。


如今DevOps概念越来越深入人心,将自动化测试集成到持续集成的流程中是实施DevOps的一个重要环节。集成后,每天自动化测试能够自动运行,并给整个团队发运行执行报告。让团队清楚的知道项目的健康状态。下面就是在Jenkins中显示的Cucumber 运行的报告:


行为驱动自动化脚本与Jenkins配置持续集成


我们今天会介绍如何配置Jenkins持续集成,自动获得Cucumber自动化测试的报告。


任何工具,如果要与Jenkins集成,首先考虑它要支持命令行模式。


Cucumber的命令行模式

我们以Cucumber.js来说明Cucumber的命令行。幸运的是Cucumber只支持命令行模式行为驱动自动化脚本与Jenkins配置持续集成。用过的同学知道,在当前的脚本目录下直接执行"Cucumber-js" 命令就可以运行。或者如果你没有全局安装Cucumber,执行“node_modules.bincucumber-js"就可以了,它会使用本地安装的Cucumber。执行后,它会在命令行打印文本的输出。


如果是在Jenkins下作为Job运行,命令行是类似的,只是需要添加"format”参数,标明是json格式的输出文件,命令行如下:

node_modules.bincucumber-js --format json:report.json

它会以json格式的报告输出到report.json,然后被Jenkins的job用来展示。


CukeTest命令行模式运行


CukeTest是开发Cucumber.js的流行工具之一,它提供有Windows桌面版,Windows应用商店版、MacOS等版本,它们都支持命令行模式运行。它可以在官网(http://cuketest.com)免费下载。使用CukeTest不仅能开发Cucumber.js脚本,也能用来通过命令行执行Cucumber.js脚本。


由于Windows商店版与桌面版命令行驱动运行模式不一样,所使用的命令也有不同。下面为大家演示如何使用命令行模式去运行项目。


Windows 应用商店版

打开应用商店版CukeTest,打开一个项目,点开运行项目的下拉选框--选择【编辑运行配置】


行为驱动自动化脚本与Jenkins配置持续集成


在【编辑运行配置】中,命令行栏中会自动生成对应的命令行。

行为驱动自动化脚本与Jenkins配置持续集成


点击【复制到剪贴板】按钮,即可复制到剪贴板,点击【打开控制台窗口】按钮,命令行窗口打开。


运行如下命令即可。

chcp 65001 && start cuketest://?run=true^&format=html^&overwrite=false


chcp 65001是将命令行的编码改成UTF8,因为CukeTest的命令行输出是以UFT8编码的。


桌面版

它与应用商店版使用命令行模式操作步骤一样,也是在【编辑运行配置】中的命令行栏下。只不过大家需要注意的是:桌面版的命令稍许不同。下面为Windows桌面端的命令:

chcp 65001 && cuke --run --format html


Jenkins中配置持续集成


从上面的内容中,我们可以得知:使用命令行模式可以完成项目的运行。这样就很方便我们在Jenkins中做持续集成。以下我们讲解配置Jenkins任务的步骤。


本次使用源码管理工具为 git,源码使用 https://github.com/CnodejsTest/UIAutoTest.git。大家也可以拉下代码后自己尝试:


1. Jenkins中新建Job(任务)

行为驱动自动化脚本与Jenkins配置持续集成



2.【构建】项目栏中选择 【Windows 批处理命令】


将对应的命令行从CukeTest复制粘贴到Jenkins批处理命令框。例如,我本机安装的是CukeTest桌面版,如下是我的命令行:


npm install
chcp 65001 && cuke --run --format html

其中第一个命令是安装Cucumber自动化脚本的npm依赖包,对于Web项目一般包括selenium-webdriver,chromedriver等。


下图是键入命令后的Job配置界面:


行为驱动自动化脚本与Jenkins配置持续集成


3. 保存项目配置。点击【立即构建】,项目即开始执行。


在构建历史中可以看到项目的执行情况

行为驱动自动化脚本与Jenkins配置持续集成


在【构建历史】中能看到项目的运行日志。同时,报告文件也生成在Jenkins的WorkSpace目录下。如果要在Jenkins界面上直接看到本文所示的详细的测试报告怎么办呢?下面为大家介绍如何使用Jenkins插件生成测试报告。


Jenkins配置测试报告


CukeTest完全兼容Cucumber语法和报告格式,所以在Jenkins中我们可以利用Jenkins已经提供的的Cucumber reports 插件生成和展现Report。

插件介绍: https://wiki.jenkins.io/display/JENKINS/Cucumber+Reports+Plugin

下面为具体的操作步骤:


1.安装Jenkins reports插件

打开Jenkins 【系统管理】--【管理插件】,在【可选插件】中过滤 “Cucumber reports”。

行为驱动自动化脚本与Jenkins配置持续集成

安装此插件后重启Jenkins即可。


2.重新配置Jenkins 任务

cucumber reports 插件主要通过解析Cucumber运行的Json文件生成报告。首先我们在运行项目的时候需要生成json的日志数据文件。

运行配置文件中报告格式 选择 json。


行为驱动自动化脚本与Jenkins配置持续集成

命令行执行输出更改为 json:

chcp 65001 && cuke --run --format json


3. 添加【Cucumber reports】


在【增加构建后操作步骤】选择【Cucumber reports】选项。

行为驱动自动化脚本与Jenkins配置持续集成


打开 Cucumber reports 【高级】选项。在 【Json Reports Path】中输入“reports”:


行为驱动自动化脚本与Jenkins配置持续集成


点击【保存】完成项目配置。


4.生成测试报告

点击【立即构建】,项目运行完毕后会自动生成本文开头所示的测试报告。另外该测试报告提供了每个场景的链接,点击进去还可以看到细节:


行为驱动自动化脚本与Jenkins配置持续集成


报告不仅有每个步骤的执行情况,还可以显示场景操作后的截图。


总结

本次内容主要介绍了使用Jenkins结合CukeTest做自动化的持续集成,Jenkins还有很多别的功能,比如设置定时运行,邮件发送等功能,大家可以根据项目需要进行配置。


相关内容:









行为驱动自动化脚本与Jenkins配置持续集成

 更多精彩内容,尽在阅读原文

以上是关于行为驱动自动化脚本与Jenkins配置持续集成的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins持续集成-自动化部署脚本的实现《python》

Jenkins可持续集成Python自动化脚本(Windows版)

利用Jenkins和SonarQube集成对代码进行持续检测

Jenkins持续集成

Jenkins 的安装与基础配置

Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试(自由风格)