如何在Gitlab Ci中用Newman运行Postman测试

539 阅读5分钟

阅读时间: 4 分钟

大家好,在这篇简短的博文中,我们将进一步了解Gitlab CI和Postman,这是我们最常使用的API测试工具。本文的目标是提供一个快速的流程来自动测试服务的API响应。该方案利用了Gitlab集成的持续集成工具所提供的功能。

Gitlab CICD简介

GitLab CI/CD是一个与GitLab SaaS集成的持续集成(CI)和持续交付(CD)服务,并可自行管理。软件开发团队可以使用GitLab CI/CD来自动构建、测试和部署GitLab中的代码。

为什么我们要将Gitlab CICD与postman集成?

持续集成(CI)在Gitlab中有自己的组件。Gitlab能够执行一个脚本流水线来构建、测试和验证每一个提交的变更的代码修改。在这种情况下,CI将专注于自动执行提取的Postman集合中的请求,并评估每个测试的结果。测试的结果将对每个作业的状态产生影响。我相信现在所有的问题都解决了,所以让我们转向如何创建我们的CICD管道。

示范如何创建CICD管道

为了您的利益,让我们把这个过程分为几个步骤

第一步:创建项目并将其添加到Gitlab仓库中

现在我们有了一个符合我们基本要求的项目。让我们进入第二步。

第2步:在Gitlab仓库中添加Postman样本集

添加postman样本集合,以及JSON文件形式的集合环境,如下图所示

好了,现在我们已经清楚了先决条件,让我们回到我们的基本主题上来。

第三步:应该如何定义GitLab管道?

因此,如果你已经有了一个仓库和数据,你可以跳过前面两个步骤,但你仍然需要在仓库中添加一个新的文件,叫做。gitlab-ci.yml。这个文件将作为Gitlab管道的定义。 postman/newman_alpine33。

因此,在这个*.gitlab-ci.yml文件下,我们将定义一个新的测试阶段,我们将创建一个名为postman_tests的*新工作,并将其分配给测试阶段。当然,你给任务和阶段起什么名字完全取决于你。

我们在管道中哪里使用Newman,为什么?

Newman是一个命令行代理,允许你连续运行多个请求。 Newman将使用一个名为 "Docker Images "的官方Docker镜像,其中包括Newman,名为postman/newman包含Newman的Docker镜像,是由Postman团队创建并不断更新。所以这就是为什么我总是喜欢使用官方维护的Docker镜像,而不是依赖第三方或建立自己的镜像。

在我们包括图像之后,第一步是检查Newman是否正常工作。检查的最简单方法是通过运行 *newman* *--*verisa-quick-overview-how-to-run-postman-test-with-newman-in-gitlab-cion**

正如你所看到的,我们试图通过在.gitlab-ci.yml文件中添加9-10行来定义管道*,*提交修改后,该文件会反映在我们的分支中。

让我们进一步探讨一下.gitlab-ci.yml文件,在每个阶段下,我们定义我们做什么,比如部署测试执行数据。之后,我们需要定义作业的名称。在我们的方案中,我们把postman_test作为一个特定的阶段测试。正如你所知,我们在Newman的帮助下测试Postman集合,所以我们有一个像postman/newman_alpine33 的docker镜像*。* 为了执行这个Docker镜像,Newman和Docker发布了一些入口点。最后,我定义了一个空的入口点。最后,我们有一个脚本,在其中传递命令来运行postman集合。

但是Gitlab需要一些小的验证 要在共享运行器上使用免费的CI/CD分钟,你需要用信用卡验证你的账户。

一旦你验证了你的账户或创建了一个新的账户,你会得到下面的输出。

现在管道已经声明了,它正在按预期工作,所以让我们在Newman的帮助下运行postman测试集合。

在提交更改后,管道被激活,并根据你传递的数据提供失败或通过的输出。

总结

在这篇简短的博客中,我们学习了如何使用Newman启动Gitlab的Postman测试。在我们接下来的文章中,我们将更详细地介绍这个问题。

在那之前,祝你学习愉快,分享愉快!

你也可以点击这些简单的链接,在这里了解更多关于这个集成的信息。