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%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。