如何在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 ...
随机推荐
- DotNetCore跨平台~一起聊聊Microsoft.Extensions.DependencyInjection
写这篇文章的心情:激动 Microsoft.Extensions.DependencyInjection在github上同样是开源的,它在dotnetcore里被广泛的使用,比起之前的autofac, ...
- HDU1197 Specialized Four-Digit Numbers
进制转化 hdu1197 #include<cstdio> #include<cstdlib> #include<iostream> #include<mem ...
- Jquery+Ajax限制查询间隔
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Jquery20150305.a ...
- 远程连接MySQL,防火墙阻止访问,解决方法
远程连接MySQL,防火墙阻止访问,解决方法 xp/2003添加防火墙例外端口 打开防火墙,选择例外选项卡,添加端口 名称:mysqlport 端口号:3306 选中TCP win7添加防火墙例外 ...
- How to Add Columns to a DataGrid through Binding and Map Its Cell Values
How to Add Columns to a DataGrid through Binding and Map Its Cell Values Lance Contreras, 7 Nov 2013 ...
- (转)Python爬虫利器一之Requests库的用法
官方文档 以下内容大多来自于官方文档,本文进行了一些修改和总结.要了解更多可以参考 官方文档 安装 利用 pip 安装 $ pip install requests 或者利用 easy_install ...
- 简说chart2.4的应用,以及Uncaught ReferenceError : require is not defined的解决
51呢最近在学习chart.js,然后呢就照着中文的帮助文档来然后就一直出Uncaught ReferenceError : require is not defined的问题查了挺多才知道是帮助文档 ...
- hover与click样式冲突
如果你的hover事件和click事件的样式不同,如元素背景本来是#fff,如果hover时背景是#ddd,点击时背景是#aaa,那么问题是当你点击后,鼠标再移动到这个元素时背景会变成#ddd,而你希 ...
- mysql的并发处理机制_下篇
MySQL的并发处理机制,有MVCC及锁机制来处理,上篇简要说明了 MVCC及隔离级别,这篇来说说mysql下的锁. 温馨提示:下文有几个表格长度较长,右下角的博文导航目录会挡道,浏览 ...
- JavaScript的function参数的解释
在js里面写function时其参数在内部表示为一个数组.也就是说:我们定义一个function,里面的参数和将来调用这个function时传入的实参是毫无关系的,如果我们要定义一个function ...