如何在ASP.NET Core Web API测试中使用Postman
使用Postman进行手动测试
如果您是开发人员,测试人员或管理人员,则在构建和使用应用程序时,有时了解各种API方法可能是一个挑战。
使用带有.NET Core的Postman为您的Web API生成良好的文档和帮助页面就像进行一些HTTP调用一样简单。
让我们开始从GitHub下载简单的待办事项。
从这个链接下载并运行下面的TodoMvcSolution 。
下载Postman
Postman是Google Chrome应用程序,用于测试API调用。您可以从下面的网站下载并安装Postman。
这里是我们可以测试的API - 获取,发布,放置和删除这个应用程序。
这里是我们要测试的Web API。
//Copyright 2017 (c) SmartIT. All rights reserved.
//By John Kocer
// This file is for Swagger test, this application does not use this file
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
using SmartIT.Employee.MockDB;
namespace TodoAngular.Ui.Controllers
{
[Produces("application/json")]
[Route("api/Todo")]
publicclass TodoApiController : Controller
{
TodoRepository _todoRepository = new TodoRepository();
[Route("~/api/GetAllTodos")]
[HttpGet]
public IEnumerable<SmartIT.Employee.MockDB.Todo> GetAllTodos()
{
return _todoRepository.GetAll();
}
[Route("~/api/AddTodo")]
[HttpPost]
public SmartIT.Employee.MockDB.Todo AddTodo([FromBody]SmartIT.Employee.MockDB.Todo item)
{
return _todoRepository.Add(item);
}
[Route("~/api/UpdateTodo")]
[HttpPut]
public SmartIT.Employee.MockDB.Todo UpdateTodo([FromBody]SmartIT.Employee.MockDB.Todo item)
{
return _todoRepository.Update(item);
}
[Route("~/api/DeleteTodo/{id}")]
[HttpDelete]
publicvoid Delete(int id)
{
var findTodo = _todoRepository.FindById(id);
if (findTodo != null)
_todoRepository.Delete(findTodo);
}
}
}
注 - 您的本地端口号可能与我的不同。使用您的本地端口号。
http:// localhost:63274 / api / GetAllTodos // GET
http:// localhost:63274 / api / AddTodo // POST
http:// localhost:63274 / api / UpdateTodo // PUT
http:// localhost:63274 / api / DeleteTodo / 5 // DELETE
用邮递员测试GET
测试GET非常简单。首先,我们需要从下拉列表中将HTTP Action设置为GET。
然后,我们需要输入或粘贴到API URL框中。
然后,点击蓝色的SEND按钮。
如果GET成功,我们看到状态:200 OK。 用邮递员测试POST
首先,我们需要将下拉列表中的Http Action设置为POST。
然后,我们需要输入或粘贴到API URL框中。
AddTodo API接受JSON格式的Todo对象。我们需要传递一个新的Todo JSON数据。
要传递JSON数据,我们需要选择Body Tap。
选择原始
选择JSON(应用程序/ JSON)作为文本格式。
编写或粘贴您的Todo JSON数据。
然后,点击蓝色的SEND按钮。
如果POST成功,我们看到状态:200 OK。
您将看到状态:200成功,返回值选项卡中的返回值。我们发送了id = 0的Publish Postman Todo项目,结果我们收到了id = 5。用邮递员测试PUT
首先,我们需要从下拉列表中将HTTP Action设置为PUT。
然后,我们需要输入或粘贴到API网址。
UpdateTodo API接受JSON格式的Todo对象。我们需要传递一个现有的Todo JSON数据。
要传递JSON数据,我们需要选择正文选项卡
选择原始格式
选择JSON(应用程序/ JSON)作为文本格式。
写或粘贴您的Todo JSON
然后点击蓝色的发送
如果PUT成功,我们看到状态:200 OK。
您将看到状态:200成功,返回正文标签中的返回值。我们发送发布邮差待办事项与“名称”:“发布邮递员进行中”,我们收到更新的待办事项结果。用Postman测试DELETE
首先,我们需要从下拉列表中将Http Action设置为DELETE。
然后,我们需要输入或粘贴到API URL框中。
DeleteTodo / 5 API接受一个ID我们需要通过一个Id值现有的Todo。
然后,点击蓝色的SEND按钮。
如果删除成功,我们看到状态:200 OK。这将完成邮差第1部分教程。在“第二部分使用邮递员进行自动化测试”中,我们将考察Postman API自动化测试,并编写一个脚本来运行持续集成测试用例。
概要
在本文中,我们学习了如何将Postman与ASP.NET Core Web API结合使用。
本文转自:https://www.toutiao.com/i6489186032729195021/,如需转载,请注明出处。
如何在ASP.NET Core Web API测试中使用Postman的更多相关文章
- 如何在ASP.NET Core Web API中使用Mini Profiler
原文如何在ASP.NET Core Web API中使用Mini Profiler 由Anuraj发表于2019年11月25日星期一阅读时间:1分钟 ASPNETCoreMiniProfiler 这篇 ...
- 从ASP.Net Core Web Api模板中移除MVC Razor依赖项
前言 :本篇文章,我将会介绍如何在不包括MVC / Razor功能和包的情况下,添加最少的依赖项到ASP.NET Core Web API项目中. 一.MVC VS WebApi (1)在ASP. ...
- ASP.NET Core Web API 集成测试中使用 Bearer Token
在 ASP.NET Core Web API 集成测试一文中, 我介绍了ASP.NET Core Web API的集成测试. 在那里我使用了测试专用的Startup类, 里面的配置和开发时有一些区别, ...
- 在ASP.NET Core Web API上使用Swagger提供API文档
我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的API文档功能.当设置IISExpress的默认启动路由到Swagger的API文档页 ...
- ASP.NET Core Web API下事件驱动型架构的实现(二):事件处理器中对象生命周期的管理
在上文中,我介绍了事件驱动型架构的一种简单的实现,并演示了一个完整的事件派发.订阅和处理的流程.这种实现太简单了,百十行代码就展示了一个基本工作原理.然而,要将这样的解决方案运用到实际生产环境,还有很 ...
- Asp.Net Core Web Api图片上传(一)集成MongoDB存储实例教程
Asp.Net Core Web Api图片上传及MongoDB存储实例教程(一) 图片或者文件上传相信大家在开发中应该都会用到吧,有的时候还要对图片生成缩略图.那么如何在Asp.Net Core W ...
- 或许是你应该了解的一些 ASP.NET Core Web API 使用小技巧
一.前言 在目前的软件开发的潮流中,不管是前后端分离还是服务化改造,后端更多的是通过构建 API 接口服务从而为 web.app.desktop 等各种客户端提供业务支持,如何构建一个符合规范.容易理 ...
- 使用JWT创建安全的ASP.NET Core Web API
在本文中,你将学习如何在ASP.NET Core Web API中使用JWT身份验证.我将在编写代码时逐步简化.我们将构建两个终结点,一个用于客户登录,另一个用于获取客户订单.这些api将连接到在本地 ...
- ASP.NET Core Web API 索引 (更新Identity Server 4 视频教程)
GraphQL 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(上) 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(下) [视频] 使用ASP.NET C ...
随机推荐
- 【JAVA零基础入门系列】Day8 Java的控制流程
什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...
- SqlServer和Oracle中一些常用的sql语句3 行列转换
--217, SQL SERVER SELECT Cust_Name , MAX(CASE WHEN Order_Date ='2009-08-01' THEN AR END) "2009- ...
- Python基础2 编码和逻辑运算符
编码: AscII码 :标准ASCII码是采用7位二进制码来编码的,当用1个字节(8位二进制码)来表示ASCII码时,就在最高位添加1个0. 一个英文字母占一个字节 8位(bit)==一个字节(byt ...
- win10 + python3.6 + VSCode + tensorflow-gpu + keras + cuda8 + cuDN6N环境配置
写在前面的话: 再弄这个之前,我对python也好,tensorflow也好几乎是0认知的,所以配置这个环境的时候,走了不少弯路,整整耗费了一个星期的时间才搭配完整这个环境,简直了...然而最气的是, ...
- 关于Page_Load事件发生情况
Page_Load事件会在第一次加载页面时发生和将该页面回发到服务器时发生 第一种情况Page.IsPostBack返回false,第二种返回True. 若在Page_Load事件中有一些对控件的操作 ...
- 翻译:MLAPP(2.3节 一些常见的离散分布)
笔者:尝试翻译MLAPP(Machine Learning: a Probabilistic Perspective)一书,供机器学习的学者参考,如有错误理解之处请指出,不胜感激!(如需转载,请联系本 ...
- 分布式学习(一)——基于ZooKeeper的队列爬虫
zookeeper 一直琢磨着分布式的东西怎么搞,公司也没有相关的项目能够参与,所以还是回归自己的专长来吧--基于ZooKeeper的分布式队列爬虫,由于没什么人能够一起沟通分布式的相关知识,下面的小 ...
- 最全的命令行(gradle)打包安卓apk
最近研究安卓方面的打包,因为是React Native,不能使用Android studio打包.找了半天资料,发现没有一个全面的.下面,我来讲解自己下打包时自己遇到的各种坑. 1.首先,需要在项目顶 ...
- swift 之SnapKit 动画
这个问题纠结了我挺长时间的.一直以为把约束直接添加到动画里面就可以了.但是并没那么简单.-.-其实还是挺简 class ViewController: UIViewController { @IBOu ...
- 使用 LitJson 解析Json并读取数据
开发中经常要获取各种数据,而现今比较常见的数据便是Json数据格式,网上也有很多解析Json数据的方法,但是 作为小白的我,对于那些个高大上的方法理解不够,这不找了许久发了这些一个 LitJson 库 ...