class="hljs-ln-code"> class="hljs-ln-line">pm.test ("Status code is 200" , function ( ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> pm.response .to .have .status (200 ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line">}); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line">pm.test ("Body matches string" , function ( ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> pm.expect (pm.response .text ()).to .include ("some expected string" ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line">}); class="hljs-button signin active add_def" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">代码解读
3.2.2 预请求和断言脚本的编写和执行
Postman中的测试脚本通常包含预请求脚本(Pre-request Scripts)和测试脚本(Tests)两个部分:
预请求脚本 :在发送请求之前执行。这可以用来设置动态请求数据,比如基于环境变量计算变量值,或者在每次请求之前更新令牌等。
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">pm.request .headers .add ({ class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> key : "Authorization" , class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> value : "Bearer " + pm.environment .get ("token" ) class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line">});
class="hljs-button signin active add_def" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">代码解读
测试脚本 :在接收到响应之后执行。它们用于验证API的响应内容,比如状态码、响应体的格式、数据的存在性和值等。
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line"> class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">pm.test ("Field 'message' should be present in response" , function ( ) { class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> var jsonData = pm.response .json (); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> pm.expect (jsonData).to .have .property ('message' ); class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line">});
class="hljs-button signin active add_def" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">代码解读
通过编写测试脚本,开发者可以自动化测试过程,确保API的响应符合预期。这不仅加快了测试流程,还提高了测试的准确性和可靠性。
此外,Postman的测试脚本非常灵活,支持多种JavaScript语法和库,这意味着开发者可以编写复杂的逻辑来进行深入的测试。利用Postman测试脚本,可以实现从简单的响应验证到复杂的接口逻辑测试,让API测试变得轻而易举。
在使用测试脚本时,重要的是要有明确的测试目标和计划。合理地编写测试用例,可以确保API的质量,并提高整个开发流程的效率。
4. Postman的请求组织与管理
在高效地使用Postman的过程中,组织和管理请求是核心环节之一。本章节将深入介绍如何在Postman中创建和管理请求集合,以及设置和应用环境变量,从而增强工作流的效率和可维护性。
4.1 请求的创建与管理
Postman中的“集合”是组织请求的强大工具,它可以将多个请求归纳在一起,便于管理、测试和共享。每个集合可以代表一个特定的API端点集合,或者特定的业务流程。
4.1.1 创建请求集合
创建一个请求集合非常简单,通过以下步骤即可完成:
打开Postman应用程序。 点击侧边栏的“Collections”按钮。 点击“+”号按钮,选择“Create Collection”。 在弹出的对话框中输入集合名称,并可选择是否添加描述。 点击“Save”按钮保存新的请求集合。
这个过程中,可以简单地将请求拖拽到集合中,或者使用“Save”按钮旁边的下拉菜单,选择“Save all requests”将当前工作区中的所有请求保存到集合中。
4.1.2 管理请求集合
管理请求集合意味着能够修改集合名称和描述、删除集合、重排集合内的请求顺序,以及复制集合等。这些操作都旨在帮助用户维护和优化测试工作流。
重命名和编辑描述 :在集合的名称或描述上点击编辑按钮,即可修改。 删除集合 :右键点击集合名称,在弹出的菜单中选择“Delete”。 重排请求 :直接拖拽集合中的请求可以实现重新排序。 复制集合 :右键点击集合名称,在弹出的菜单中选择“Duplicate”可复制集合。
此外,可以通过权限设置来控制团队成员对集合的访问权限,以实现团队合作。
4.2 环境变量的设置
在API测试中,环境变量非常关键。它们允许我们为不同环境(如开发、测试、生产)存储不同的配置值,从而使测试过程更加灵活和可重用。
4.2.1 创建环境变量
创建环境变量的步骤如下:
点击侧边栏的“Environments”按钮。 点击“+”号按钮,选择“Add”来创建新的环境。 在弹出的对话框中输入环境名称,并为每个需要的变量设置名称和初始值。 点击“Add”保存环境变量。
环境变量创建完成后,可以在Postman的请求中使用 {{variableName}}
的方式引用变量值。
4.2.2 环境变量的应用
应用环境变量可以使API测试更加灵活,改变环境时不需要修改每个请求。例如,可以设置一个变量 {{URL}}
,在不同的环境中它的值可以是 localhost
、 staging.example.com
或者 production.example.com
。
在请求中使用环境变量的例子:
假设有一个GET请求需要访问不同的API端点,可以在请求的URL中使用环境变量 {{URL}}/api/items
。当在不同的环境变量间切换时(例如从开发环境切换到生产环境),只需要更改环境变量 URL
的值,即可自动更新请求URL。
为了更好地理解环境变量的管理和应用,下面展示一个表格和代码块来展示环境变量的设置与使用。
表格:环境变量示例
| 变量名称 | 变量值 | 说明 | |----------|----------|----------------------| | URL | localhost | 开发环境的API主机地址 | | API_KEY | secretkey | API认证使用的密钥 |
代码块:使用环境变量的请求示例
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">GET {{URL}}/api/items class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">Authorization: Bearer {{API_KEY}}
class="hljs-button signin active add_def" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">代码解读
在上面的示例中,如果环境变量 URL
被设置为 localhost
, API_KEY
被设置为 secretkey
,那么实际发送的请求将是:
class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">GET http://localhost/api/items class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">Authorization: Bearer secretkey
class="hljs-button signin active add_def" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">代码解读
通过这样的设置,就可以在不同的环境之间无缝切换,而无需更改请求的主体内容。同时,可以在Postman中快速切换环境,例如点击侧边栏“Environments”面板中的环境名称,以实时更改所有使用该环境变量的请求配置。
此外,环境变量还可以用于设置Postman的全局变量、局部变量,以及与外部工具如Newman集成时使用。
至此,第四章介绍了如何在Postman中创建和管理请求集合,以及设置和应用环境变量。这些功能让Postman成为一个更加强大和灵活的API测试工具。接下来的章节将深入探讨Postman的高级功能,包括自动化测试、监控、实时同步、文档生成以及团队协作。
5. Postman的高级功能
5.1 自动化测试与监控
Postman作为API开发和测试的重要工具,不仅仅止步于手动测试,它也提供了强大的自动化测试与监控功能。
5.1.1 使用Newman工具进行自动化测试
Newman是Postman的命令行集成工具,可以运行Postman集合并生成测试报告。通过集成到持续集成(CI)流程中,可以自动化API测试。
安装Newman: 打开终端,并运行以下命令安装Newman:
bash npm install -g newman
运行集合: 一旦Postman集合准备就绪,可以通过以下命令使用Newman运行集合:
bash newman run .json -r html,junit
这条命令不仅会运行集合,还会生成HTML和Junit格式的测试报告。
集成CI: 可以将Newman集成到CI/CD工具如Jenkins、Travis CI中,实现API测试的自动化。
5.1.2 API性能 监控
监控API的性能是确保服务质量的关键一环。Postman允许你设置监控,以便定期检查API的状态和性能。
设置监控: 在Postman中,可以通过单击集合右上角的“Monitor”按钮来设置监控。
配置监控选项: 设置监控周期、通知选项和执行历史记录。
查看监控结果: 监控结果可以在Postman的相应监控视图中查看,包括请求时间和响应时间等指标。
5.2 实时同步与文档
为了在团队成员之间保持协作和更新,Postman提供实时同步和文档生成功能。
5.2.1 跨设备同步请求集合
Postman允许用户在不同设备间同步他们的请求集合。
创建团队: 用户必须先创建一个团队并加入,然后在Postman桌面或网页版中,选择同步选项。
选择同步的集合: 用户可以选择特定的集合或整个工作区进行同步。
实时更新: 同步后,所有团队成员都能看到最新的变更。
5.2.2 生成API文档
API文档是协作的关键。Postman提供了生成详细文档的功能,方便开发者和团队成员理解和使用API。
使用Postman内置文档: 在Postman应用中,每个集合旁边都有一个“View in Postman”按钮,可以生成一个可读的HTML文档。
自定义文档: 用户可以手动编辑文档,添加描述和示例等。
共享文档: 可以将文档导出为链接,或直接在Postman内外共享。
5.3 协作功能
Postman通过一系列协作工具加强了团队间的合作。
5.3.1 团队协作
在Postman中创建团队,并邀请成员加入,这样团队成员就可以在一个平台上共享集合。
创建团队: 用户可以在Postman账户设置中找到创建团队的选项。
邀请成员: 管理员可以通过发送邮件邀请的方式将新成员加入团队。
共享集合: 通过团队,用户可以将集合设置为公开、私有或受保护。
5.3.2 版本控制
为了跟踪集合的变化,Postman提供了版本控制的功能。
版本历史: 用户可以在集合的“History”标签页中查看每次更改的记录。
回滚到旧版本: 如果需要,用户可以将集合恢复到之前的版本。
分支管理: 对于较大的团队,可以使用分支来管理不同的开发流程。
通过这些高级功能,Postman不仅仅是一个API测试工具,它还为团队协作、API管理和自动化测试提供了强大的支持。
本文还有配套的精品资源,点击获取
简介:Postman是一款流行的API测试工具,适用于Mac OS 10.8及以上版本。它提供了直观的界面和丰富的功能,包括创建和发送HTTP请求、自动化测试、集合管理、环境变量配置和文档生成等。Postman帮助开发和测试团队高效地进行接口调试和协作,无需安装过程,直接运行即可使用。
本文还有配套的精品资源,点击获取
data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://blog.csdn.net/weixin_42610010/article/details/144381568","extend1":"pc","ab":"new"}">>
评论记录:
回复评论: