postman+newman+git+jenkins

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客文章浏览阅读2.2k次,点赞85次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502Postman、Newman、Git和Jenkins是一套结合了测试、代码管理和持续集成/持续部署(CI/CD)的工具链,可以帮助开发者进行高效的接口开发和测试。这四个工具可以相互配合,共同实现API测试、代码管理和持续集成的目标。

各工具的作用

  • Postman:Postman是一个用于API开发和测试的平台,允许用户创建和执行测试用例,并且能够生成文档。你可以在Postman中编写你的API测试,然后导出这些测试到Newman(一个命令行工具)或Jenkins(一个CI/CD工具)中。

  • Newman:Newman是Postman的命令行接口,允许你从命令行运行Postman的集合和测试。你可以使用Newman来运行Postman中的测试,并将结果输出到控制台或保存到文件中。

  • Git:Git是一个版本控制系统,用于跟踪和管理代码的变更。你可以将Postman的集合和测试脚本存储在Git仓库中,以便于管理和协作。

  • Jenkins:Jenkins是一个开源的CI/CD服务器,可以自动化各种任务,包括从Git仓库中拉取代码、运行测试、构建和部署应用程序等。你可以在Jenkins中创建一个任务,该任务从Git仓库中拉取Postman的集合和测试脚本,然后使用Newman运行这些测试,并将结果输出到Jenkins的构建报告中。

各工具结合的使用流程

1、在Postman中编写和测试你的API集合。
2、将集合导出为JSON格式的文件。
3、将JSON文件存储在Git仓库中。
4、在Jenkins中创建一个任务,该任务从Git仓库中拉取JSON文件。
5、在Jenkins任务中使用Newman运行Postman的测试,并将结果输出到Jenkins的构建报告中。
6、根据测试结果,你可以决定是否构建和部署你的应用程序。

通过这种方式,你可以使用Postman、Newman、Git和Jenkins来自动化你的API开发和测试过程,并实现持续集成和持续部署。

Newman功能介绍

Newman简介

Newman是一个专为Postman设计的Node.js库,它是Postman的命令行工具。它的主要功能是运行和测试Postman的测试集,也就是Collection。

使用Newman,你可以非常轻松地通过命令行来执行Postman编写的脚本。在构建时,Newman考虑了可扩展性,因此,你不仅可以将其与持续集成服务器进行集成,还可以方便地进行系统构建。此外,Newman可以配合Git和Jenkins等工具实现自动化构建、测试和部署流程。

要在本地安装Newman,首先需要确保已经安装了Node.js。然后可以通过npm(Node包管理器)来安装Newman。打开命令行工具,输入以下命令即可完成安装:npm install -g newman。安装完成后,可以通过输入newman -v来查看newman的版本信息,以确认是否安装成功。

Newman命令行

newman run <collection-file-source> [options]
newman run <collection-file-source>:这是Newman最基本的命令,用于运行Postman集合。通过指定集合的文件路径,可以在命令行中运行API测试。例如:newman run collection.json
    -n, --iteration-count [number]: 用于定义运行collection的迭代次数。例如,若要运行一个Collection三次,可以使用newman run collection.json -e environment.json -n 3。
    -e, --environment [file|URL]: 用于指定Postman环境变量文件(Json文件)。例如,如果有一个名为environment.json的环境文件,可以使用newman run collection.json -e environment.json来运行Collection。
    -d, --data [file]: 用于指定Postman参数化文件(支持csv、json格式等)。例如,如果有一个名为data.csv的数据文件,可以使用newman run collection.json -d data.csv来运行Collection。
    -r, --reporter [name]: 用于指定测试报告生成器的名称。例如,要使用cli报告生成器,可以使用newman run collection.json -r cli。
    --reporter-html-export [path]: 用于指定HTML报告导出路径。例如,要将HTML报告导出到/reports/index.html,可以使用newman run collection.json -r html --reporter-html-export /reports/index.html。
    --reporter-cli-options [options]: 用于指定CLI报告生成器的选项。例如,要设置CLI报告生成器的输出目录为/reports,可以使用newman run collection.json -r cli --reporter-cli-options outputDirectory=/reports。
    --reporter-json-export [path]: 用于指定JSON报告导出路径。例如,要将JSON报告导出到/reports/report.json,可以使用newman run collection.json -r json --reporter-json-export /reports/report.json。
    --reporter-junit-export [path]: 用于指定JUnit报告导出路径。例如,要将JUnit报告导出到/reports/junit.xml,可以使用newman run collection.json -r junit --reporter-junit-export /reports/junit.xml。
    --reporter-mochawesome-export [path]: 用于指定Mochawesome报告导出路径。例如,要将Mochawesome报告导出到/reports/mochawesome.html,可以使用newman run collection.json -r mochawesome --reporter-mochawesome-export /reports/mochawesome.html。
    --reporter-xunit-export [path]: 用于指定XUnit报告导出路径。例如,要将XUnit报告导出到/reports/testresults.xml,可以使用newman run collection.json -r xunit --reporter-xunit-export /reports/testresults.xml。

案例

准备接口测试脚本

  • 编写并调试好接口测试脚本

  • 导出接口测试集合脚本为json格式(若有环境变量一同导出)

  • 本地通过newman运行脚本进行调试

将测试脚本上传到git远程仓库

  • 在gitee新建一个远程仓库

  • 将本地测试脚本上传推送到远程仓库

jenkins配置

  • 新建任务

 

  • 配置任务-源码管理

通过jenkins的git插件拉取远程仓库的接口测试脚本。

  • 配置任务-构建触发器

  • 配置任务-构建环境

  • 配置任务-构建步骤1

通过newman执行postman测试脚本。(在Linux中利用shell脚本实现)

#!/bin/sh
cd $WORKSPACE
newman run test.json -r htmlextra --reporter-htmlextra-export report.html
exit 0

  • 配置任务-构建步骤2

防止在jenkins中打开html测试报告无样式的问题,需要执行下方Groovy代码。

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
  • 构建后操作-生成测试报告

jenkins插件管理中安装HTML Publisher plugin,需要配置报告存储路径、文件名称、报告标题等。

  • 构建后操作-发送邮件

jenkins插件管理中安装Email Extension Plugin,在进行下方配置前,需要先在jenkins系统管理中对邮件服务器进行配置。jenkins邮件服务器配置好后,在任务发送邮件配置中需要配置收件人邮箱、邮件主题、邮件内容(定义模板)、邮件附件、邮件发送的触发条件等。

配置邮件内容可参考下方模板(${}为jenkins系统变量)。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
    <h3>以下是Jenkins自动发送的邮件,请勿回复!</h3>
    <div>
        <table width="95%" cellpadding="0" cellspacing="0"
            style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
            <h4>
                <font color="#0B610B">构建信息</font>
            </h4>
            <hr size="2" width="100%" />
            <tr>
                <td>
                    <ul>
                        <li>项目名称 :${PROJECT_NAME}</li>
                        <li>构建编号 :第${BUILD_NUMBER}次构建</li>
                        <li>触发原因:${CAUSE}</li>
                        <li>构建状态:${BUILD_STATUS}</li>
                        <li>测试报告Url :<a href="${PROJECT_URL}test_report">${PROJECT_URL}test_report</a></li>
                        <li>项目 Url :<a href="${PROJECT_URL}">${PROJECT_URL}</a></li><br />
                    </ul>
                </td>
            </tr>
        </table>
    </div>
    <div>
        <table>
            <h4>
                <font color="#0B610B">失败用例</font>
            </h4>
            <hr size="2" width="100%" />
            $FAILED_TESTS<br />
        </table>
    </div>
</body>
</html>

执行Jenkins任务

  • 执行任务

  • 查看任务执行日志

  • 查看测试报告

  • 查看发送的邮件

至此,一个简单的基于工具(postman+newman+git+jenkins)的接口自动化测试案例就完成了!

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值