对ASP.Net的WebAPI项目进行测试

 更新时间:2022年04月28日 10:03:48   作者:農碼一生  
这篇文章介绍了对WebAPI项目进行测试的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

如果项目采取前后端分离的模式进行开发,那么我们的WebAPI最终是需要提供给前端页面来进行调用的。

那么在进行对接之前必须要保证我们的WebAPI没有Bug,在这种情况下作为开发者对API的自行测试就显得尤为重要。

WebAPI的测试推荐两种方式进行:

  • (1)使用PostMan测试WebAPI;
  • (2)在WebAPI中集成Swagger;

一、利用PostMan测试WebAPI

PostMan的安装和基本使用:

1.官方下载地址:https://www.postman.com/downloads/

2.启动后可以跳过输入账号步骤

3.点击+号或者“新建请求”来创建一个新的请求

4.PostMan的工作界面

(1)测试Get接口

实体类:

public class Student
{
    public string StuNo { get; set; }    //学号
    public string StuName { get; set; }  //姓名
    public string StuSex { get; set; }   //性别
    public Student(string no, string name, string sex)
    {
   		this.StuNo = no;    this.StuName = name;    this.StuSex = sex;
    }
}

API接口:

public List<Student> Get()
{
    List<Student> list = new List<Student>();
    list.Add(new Student("001", "孙悟空", "男"));
    list.Add(new Student("002", "猪八戒", "男"));
    list.Add(new Student("003", "白骨精", "女"));
    return list;
}

接口测试:

  • 【1】输入API地址;
  • 【2】请求方法选择GET;

(2)测试POST接口

  • 【1】输入API地址;
  • 【2】请求方法选择POST;
  • 【3】在Body中输入请求体中的参数名和值;

实体类:

public class Student
{
    public string StuNo { get; set; }    //学号
    public string StuName { get; set; }  //姓名
    public string StuSex { get; set; }   //性别
    public Student(string no, string name, string sex)
    {
   		this.StuNo = no;    this.StuName = name;    this.StuSex = sex;
    }
}

API接口:

public IHttpActionResult Post([FromBody] Student stu)
{
    string str = string.Format("Post类型获取的数据(学号:{0},姓名:{1},性别:{2})", stu.StuNo, stu.StuName, stu.StuSex);
    return Json(new { Msg = str });
}

接口测试:

(3)其它接口测试

常见的接口类型有GET,POST,PUT,DELETE类型,其中PUT类型和DELETE类型的测试在学习后面的RESTFul API中可进行。

二、在WebAPI中集成Swagger

在使用WebAPI开发完接口之后,编写API说明文档是一件繁琐的事情,但是有了Swagger,就可以快速地自动生成API说明。

Swagger 是一个规范和完整的框架,用于可视化地生成、描述、调用WebAPI文档。

【1】打开Nuget 包管理软件,查找 swagger,进行Swashbuckle 组件的安装

【2】开启项目的XML注释位置(选中项目,右键-->属性-->生成-->输出-->XML文档文件)

【3】在App_Start中中会自动生成SwaggerConfig配置文件,对此文件进行修改。

找到如下代码,修改版本号及标题:

c.SingleApiVersion("v1", "Chp02-项目测试");

找到如下代码,将注释进行打开:

//c.IncludeXmlComments(GetXmlCommentsPath());

添加GetXmlCommentsPath()函数,函数中的路径填写步骤2中设置的路径

public static string GetXmlCommentsPath()
{
	return $@"{System.AppDomain.CurrentDomain.BaseDirectory}\bin\WebApplication1.XML";
}

【4】访问Swagger UI,通过如下地址访问:

http://localhost:65075/swagger

如果Swagger UI中中文显示乱码,则可以选中SwaggerConfig文件,选择文件-->高级保存选项,将编码设置为UTF-8。

【5】利用Swagger UI进行API接口的测试:

到此这篇关于测试ASP.Net WebAPI项目的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • ASP.NET中Web.config文件的层次关系详细介绍

    ASP.NET中Web.config文件的层次关系详细介绍

    Web.config 是一个基于 XML 的配置文件,该文件的作用是对应用程序进行配置,下面为大家介绍下ASP.NET中Web.config文件的层次关系
    2014-01-01
  • .net压缩功能实现方法

    .net压缩功能实现方法

    这篇文章主要介绍了.net压缩功能实现方法,需要的朋友可以参考下
    2014-02-02
  • 使用C#处理WebBrowser控件在不同域名中的跨域问题

    使用C#处理WebBrowser控件在不同域名中的跨域问题

    我们在做web测试时,经常会使用WebBrowser来进行一些自动化的任务而有些网页上面会用IFrame去嵌套别的页面,这些页面可能不是在相同域名下的,这时就会出现跨域问题,无法直接在WebBrowser中获取到IFrame中的元素,接下来介绍如何解决此问题,需要了解的朋友可以参考下
    2012-12-12
  • 为密码文本框要求不可粘帖字符串只可手动输入(附演示动画)

    为密码文本框要求不可粘帖字符串只可手动输入(附演示动画)

    以前开发程序时,用户登录的密码文本框,是可以粘帖密码字符串的,为了安全起见用户要求不要粘帖,只能由手动输入,感兴趣的朋友可以了解下
    2013-01-01
  • ASP.NET中后台注册js脚本使用的方法对比

    ASP.NET中后台注册js脚本使用的方法对比

    接下来为大家介绍下使用Page.ClientScript.RegisterClientScriptBlock 和Page.ClientScript.RegisterStartupScript:区别
    2013-04-04
  • asp.net core 中的Jwt(Json Web Token)的使用详解

    asp.net core 中的Jwt(Json Web Token)的使用详解

    session不支持分布式并且在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的应用,这篇文章主要介绍了asp.net core 中的Jwt(Json Web Token)的使用,需要的朋友可以参考下
    2022-10-10
  • 在AspNetCore中使用极验做行为认证的验证流程

    在AspNetCore中使用极验做行为认证的验证流程

    这篇文章主要介绍了在AspNetCore中使用极验做行为认证的验证流程 ,本文有图文介绍有实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • 理解HttpHandler,并为所有*.jpg图片生成一段文字于图片上

    理解HttpHandler,并为所有*.jpg图片生成一段文字于图片上

    HttpHandler就是最终相应HTTP请求,生成HTTP响应的处理器,他们的实例由asp.net运行时创建,,并生存在asp.net的运行时环境中,如果asp.net运行时是处理请求的工厂,HttpHandler是处理请求的工人
    2012-03-03
  • .Net Core 实现图片验证码的实现示例

    .Net Core 实现图片验证码的实现示例

    这篇文章主要介绍了.Net Core 实现图片验证码的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 正确使用dotnet-*工具的方法

    正确使用dotnet-*工具的方法

    这篇文章介绍了正确使用dotnet-*工具的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12

最新评论