WebAPI使用加测试教程

标签: web api 测试
12人阅读 评论(0) 收藏 举报
分类:
前言

本文章是关于WebAPI的一些基础使用,和大家一起分享

一、 创建WebAPI项目

      
1. 新建项目
文件->新建->项目

这里写图片描述

选择模板中的Web API

这里写图片描述

2. 新建Model类
右击Model->添加->类

这里写图片描述

测试时可以添加如下代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace test.Models
{
    public class Test
    {
        public int ID { get; set; }

        public int Age { get; set; }

        public string Name { get; set; }

        public string Sex { get; set; }

        public long _timestamp { get; set; }

        public string _sign { get; set; }

        public string _message { get; set; }
    }
}


3. 新建Controllers类
右击Controllers->添加->控制器

这里写图片描述

这里写图片描述

测试时可以添加如下代码

using System;
using System.Collections.Generic;//添加此引用之后IEnumerable可用
using System.Linq;
using System.Web;
using System.Web.Http;//添加此引用之后ApiController可用
using test.Models;//添加此引用之后Test可用
using System.Net;
//using System.Net.Http;
//using System.Web.Mvc;//去掉此引用之后Route HttpGet可用

namespace test.Controllers
{
    [RoutePrefix("api/users")]
    public class TestController : ApiController
    {
        List<Test> tests = new List<Test>
        {
            new Test() { ID=1,Age=23,Name="张三",Sex="男"},
            new Test() { ID=2,Age=55,Name="李四",Sex="男"},
            new Test() { ID=3,Age=12,Name="王五",Sex="男"},
            new Test() { ID=4,Age=18,Name="赵六",Sex="女"},
        };

        /// <summary>
        /// 公开的接口--查询出所有的数据
        /// </summary>
        /// <returns></returns>
        [Route("getAll")]
        [HttpGet]
        public IEnumerable<Test> addUser1(Test test)
        {
            tests.Add(test);
            return tests;
        }

        [HttpGet]
        [Route("QueryUsersById")]
        /// <summary>
        /// 通过id来查询数据
        /// </summary>
        /// <returns></returns>
        public Test QueryUsersById(int id)
        {
            var user = tests.FirstOrDefault((u) => u.ID == id);
            if (user == null)
            {
                return null;
            }
            else
            {
                return user;
            }   
        }

    }
}

二、 WebAPI测试

      
功能:类似于swagger和postman这样的前后端链接测试工具,支持前后端分离
1. 安装WebApiTestClient
目的:新建的webapi是没有testapi按钮的,需要安装WebApiTestClient
工具->Nuget包管理器->管理解决方案的NuGet程序包

这里写图片描述

2、找到浏览->输入WebApiTestClient->选择下图中的WebApiTestClient->点击webapi->点击安装(选中WebApi的项目)

这里写图片描述

3、在WebApi下的Areas/HelpPage/Views/Help/Api.cshtml的最后添加以下代码:

@Html.DisplayForModel("TestClientDialogs")
@section Scripts{
    <link href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
    @Html.DisplayForModel("TestClientReferences")
    }


Api.cshtml展示如下:

@using System.Web.Http
@using test.Areas.HelpPage.Models
@model HelpPageApiModel

@{
    var description = Model.ApiDescription;
    ViewBag.Title = description.HttpMethod.Method + " " + description.RelativePath;
}

<link type="text/css" href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
<div id="body" class="help-page">
    <section class="featured">
        <div class="content-wrapper">
            <p>
                @Html.ActionLink("Help Page Home", "Index")
            </p>
        </div>
    </section>
    <section class="content-wrapper main-content clear-fix">
        @Html.DisplayForModel()
    </section>
</div>
@Html.DisplayForModel("TestClientDialogs")
@section Scripts{
    <link href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
    @Html.DisplayForModel("TestClientReferences")
    }


4、测试步骤
(1) 在网页的API处可以看到Test

这里写图片描述

(2)点击其中的某一个出现Test API的按钮

这里写图片描述

(3)点击Test API按钮出现下面的页面

这里写图片描述

三、 站在巨人的肩膀上

      
参考:
《Asp.Net Web API》—–webApi的简单使用
C#进阶系列——WebApi 接口测试工具:WebApiTestClient
WebAPI英文官网
WebAPI中文官网

查看评论

Web Api使用VS实现自动化测试

进入到项目开发的后期,测试变得尤为重要。模拟用户使用场景,根据测试用例建立自动化测试就成为了下一个开发目标。 期间也找了不少的测试工具,针对于Web Api比较简单的有PostMan或者嵌入项目中的W...
  • wuwo333
  • wuwo333
  • 2016-07-28 10:55:21
  • 5573

用Fiddler测试Asp.net Web API Post 方法

没什么好说的,重点看上面填的东西,Content-Type: application/x-www-form-urlencoded 通常要自己加上去服务端接收参数using System; using...
  • lee576
  • lee576
  • 2016-12-20 11:59:50
  • 4208

WebAPI的一种单元测试方案

大家是如何对webApi写测试的呢?   1.利用Fiddler直接做请求,观察response的内容。   2.利用Httpclient做请求,断言response的内容。   3.直接调用w...
  • sonioo
  • sonioo
  • 2016-06-13 15:01:07
  • 1459

使用Postman进行Web API测试

Postman是一个内置在Chrome浏览器中的插件,可以方便的进行Web API的测试。 安装方法:打开Chrome浏览器,在右上方选择“自定义及控制Google Chrome”-->“更多工具”-...
  • DefectFinder
  • DefectFinder
  • 2015-12-04 14:06:11
  • 2743

WebApi(一)【接口测试工具:WebApiTestClient】

一、WebApiTestClient介绍 1、WebApiTestClient组件作用主要有以下几个: (1)、将WebApi的接口放到了浏览器里面,以可视化的方式展现出来,比如我们通过ht...
  • WuLex
  • WuLex
  • 2018-01-20 13:04:48
  • 400

《Asp.Net Web API》-----webApi的简单使用

前言:在公司工作的时候,经理跟我说我们后台用的是WebApi技术,说它是一种轻量级的WCF,我以前用过WCF,但是对于WebApi有点不熟悉,但是经理说和WCF相似,我渐渐的对着门技术变得渐渐的好奇起...
  • u013067402
  • u013067402
  • 2016-09-29 16:16:05
  • 9999

Asp.net WebAPI 单元测试

现在Asp.net webapi 运用的越来越多,其单元而是也越来越重要。一般软件开发都是多层结构,上层调用下层的接口,而各层的实现人员不同,一般大家都只写自己对应单元测试。对下层的依赖我们通过IOC...
  • dz45693
  • dz45693
  • 2016-04-23 15:12:54
  • 4032

WebApi 接口增加备注和测试

1:配置 接口注释。 (1)配置生成xml的路径。我们在项目上面点右键→属性→生成标签页配置xml的路径。 (2)在xml的读取路径:在Areas\HelpPage\App...
  • a123_z
  • a123_z
  • 2017-05-02 10:24:18
  • 769

Web Api使用详解(全部实例讲解,可直接运行看效果)

  • 2017年08月24日 10:20
  • 22.22MB
  • 下载

VS2015搭建测试webApi测试环境

WebApi已逐渐成为Web应用开发中的主流,通过接口调用的方式完成数据的获取工作,今天刚好接触了WebApi的功能,记录下来供自己梳理 基本环境:编译器VS2015 电脑:Win10  ...
  • wtfheyy
  • wtfheyy
  • 2016-11-14 20:03:02
  • 4248
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 3万+
    积分: 4986
    排名: 7070
    博客专栏
    最新评论