如何在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 ...
随机推荐
- Vue的条件渲染
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Levenshtein Distance + LCS 算法计算两个字符串的相似度
//LD最短编辑路径算法 public static int LevenshteinDistance(string source, string target) { int cell = source ...
- ovs2.7 在系统重启后,再次使用时提示数据库无法连接的问题。
问题现象如下,ovs开始安装后,对ovs的操作是正常的,但是,现在系统重启后,OVS的操作第一条命令就失败,如下: 问题解决方法: 参考 http://blog.csdn.net/xyq54/art ...
- Database 2 Day DBA guide_Chapter2
website:http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_dba/install/install ...
- 如何结合场景利用block进行回调
我们在开发中常常会用到函数回调,你可以用通知来替代回调,但是大多数时候回调是比通知方便的,所以何乐而不为呢?如果你不知道回调使用的场景,我们来假设一下: 1.我现在玩手机 2.突然手机没有电了 3.我 ...
- 【学习】Zepto与jQuery 差别
前几天遇到一个项目,需要把jquery全部改成Zepto,当时因为自己没有实际经验,所以没有接.今天查了一下两者究竟有什么区别. 首先看到了这么一篇文章:http://www.bootcss.com/ ...
- 基于FFMpeg的C#录屏全攻略
最近负责一个录屏的小项目,需要录制Windows窗口内容并压缩保存到指定文件夹,本想使用已有的录屏软件,但是本着学习的态度去探索了FFMpeg,本文主要介绍基于FFMpeg开源项目的C#录屏软件开发. ...
- Java 从键盘输入
package io; import java.io.*; public class ReadAndWrite { public static void main(String[] args) { I ...
- LINUX 笔记-scp命令
从本地服务器复制到远程服务器: (1) 复制文件: 命令格式: scp local_file remote_username@remote_ip:remote_folder (2) 复制目录: 命令格 ...
- Java基础-流程控制(04)
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...