WebAPI文档与自动化测试

本篇介绍框架的WebAPI文档与自动化测试

1、控制器,项目属性里需要勾选输出Xml文档选项:

然后,针对方法写好注释即可,示例:

/// <summary>/// 微服务测试/// </summary>public class MSController : Controller{/// <summary>/// Get or Post 测试/// </summary>/// <param name="custom" type="header">post 消息</param>/// <param name="msg" required="true">post 消息</param>/// <param name="file" type="file">文件</param> /// <returns>返回Json数据</returns>[HttpGet][HttpPost][MicroService]public void Hello(string msg, System.Web.HttpPostedFile file){if (file != null){file.SaveAs(file.FileName);}if (Request.UrlReferrer != null){Write("From : " + Request.UrlReferrer.ToString() + "\r\n");}Write("MicroService : " + MicroService.Config.AppRunUrl + Request.Url.LocalPath + " : " + Request.HttpMethod + " : " + msg ?? "Hello" + MicroService.Config.ServerName);}

类特别说明:

1、类必须为Public;2、类必须有注释说明,否则API文档上会忽略不显示。

方法特别说明:

1、type的类型有三种:text(默认)、header(请求头)、file(文件)2、必填说明:required="true"3、请求需要参数可以通过注释新增,不一定需要定义为方法参数。

2、下载文档的网页数据

如果是用源码开发的,则默认自带,如果是自己项目新建引用Nuget的,则需要下载:点击下载。

说明:

对于版本(>V3.0.3)会直接打包进Nuget中,引用即生成,不需要重新下载。

下载后解压到目录下,最终目录为:

.Net Framework 目录:/Views/Doc/.....Net Core 目录:/wwwroot/Views/Doc/....

3、运行访问网址

路径为运行路径 /doc

特别说明:

如果样式没出来,可能是缺少对静态文件的处理,补上一条即可:

app.UseStaticFiles();

这里点去,找到刚才注释的那个方法:

 点进详情页:

 这里就可以看到详细的接口文档。

参数的默认值,可以通过注释上初始定义、也可以通过Url的参数,如:msg=xxx来初始,也可以通过代码来初始:

/// <summary>/// 全局【方法执行前拦截】/// 启用时:先全局,再执行局部(若存在)。/// </summary>public static bool BeforeInvoke(IController controller, string methodName){if (controller.ControllerName == "doc"){controller.SetQuery("msg", "初始msg参数值。");}return true;}

4、接口测试:

可以在上图的示例值中:输入参数值,在运行请求边上:选择请求类型,和返回数据类型,然后点运行请求:

这样就完成轻松的 ,框架会在浏览器端缓存最后一次输入的请求参数,以后后续的测试或批量测试。

5、批量测试:

单个接口测试完后,返回控制器列表:

这里点击:RunAll,框架会拿最后一次测试的缓存在浏览器中的数据进行批量测试。

这里可以看到批量的请求结果,第1个本来也是false。

因为上一次执行的类型写的是json,把它改成text执行了一次,回来再批量才成true。 

6、微服务文档

如果框架做为微服务的注册中心,左侧目录则会出现各微服务中心的模块和地址,点击即可跳转过去文档中心。

如果其它应用也是Taurus.MVC 开发,则很方便,如果是其它应用的,最好映射到host/doc目录。

 说明:

当前是最省事的做法,后续会考虑直接在当前应用上生成测试文档,直接即可访问,而不用跳转。

总结:

本篇介绍了文档的生成、测试、批量测试与自动化测试。

后续将开启Taurus.MVC 微服务系列教程(部署教程)。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/144924.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LongLoRA:不需要大量计算资源的情况下增强了预训练语言模型的上下文能力

麻省理工学院和香港中文大学推出了LongLoRA&#xff0c;这是一种革命性的微调方法&#xff0c;可以在不需要大量计算资源的情况下提高大量预训练语言模型的上下文能力。 LongLoRA是一种新方法&#xff0c;它使改进大型语言计算机程序变得更容易&#xff0c;成本更低。训练LLM往…

使用GDIView排查GDI对象泄漏导致的程序UI界面绘制异常问题

目录 1、问题说明 2、初步分析 3、查看任务管理器&#xff0c;并使用GDIView工具分析 4、GDIView可能对Win10兼容性不好&#xff0c;显示的GDI对象个数不太准确 5、采用历史版本比对法&#xff0c;确定初次出现问题的时间点&#xff0c;并查看前一天的代码修改记录 6、将…

postman 自动升级后恢复collection数据

一、今天postman 自动升级了&#xff0c;导致一定要注册账号才能使用&#xff0c;登录账号后&#xff0c;发现之前的数据全部没有了。 找到目录&#xff1a;C:\Users\{{用户名}}\AppData\Roaming\Postman重新导入即可。 二、关闭自动更新&#xff1a;修改host&#xff0c;C:\W…

【数据结构】【C++】封装哈希表模拟实现unordered_map和unordered_set容器

【数据结构】&&【C】封装哈希表模拟实现unordered_map和unordered_set容器 一.哈希表的完成二.改造哈希表(泛型适配)三.封装unordered_map和unordered_set的接口四.实现哈希表迭代器(泛型适配)五.封装unordered_map和unordered_set的迭代器六.解决key不能修改问题七.实…

uniapp ui安装 阿里图标库使用 报错 Assignment to constant variable.

安装 ui uni-app官网 (dcloud.net.cn) &#xff08;一&#xff09;安装 pages.js配置 安装 sassnpm i sass -D 或 yarn add sass -D 安装 sass-loader npm i sass-loader10.1.1 -D 或 yarn add sass-loader10.1.1 -D安装 uni-uinpm i dcloudio/uni-ui 或 yarn a…

SpringMVC-拦截器

过滤器实现Filter接口&#xff0c;是处理Servlet请求的&#xff1b;而拦截器实现HanderInception接口&#xff0c;处理Spring-mvc请求的。 一、拦截器的基本使用 方式一&#xff1a; 方式二&#xff1a; 在经过步骤一直接可以到4 注意&#xff1a;ProjectInterceptor类 最好…

YOLOV8-DET转ONNX和RKNN

目录 1. 前言 2.环境配置 (1) RK3588开发板Python环境 (2) PC转onnx和rknn的环境 3.PT模型转onnx 4. ONNX模型转RKNN 6.测试结果 1. 前言 yolov8就不介绍了&#xff0c;详细的请见YOLOV8详细对比&#xff0c;本文章注重实际的使用&#xff0c;从拿到yolov8的pt检测模型&…

ping通但浏览器访问不了

ipconfig /renew ipconfig /flushdnshttps://mbd.baidu.com/newspage/data/dtlandingsuper?niddt_3086405504299374796

Shiro高级及SaaS-HRM的认证授权

Shiro在SpringBoot工程的应用 Apache Shiro是一个功能强大、灵活的&#xff0c;开源的安全框架。它可以干净利落地处理身份验证、授权、企业会话管理和加密。越来越多的企业使用Shiro作为项目的安全框架&#xff0c;保证项目的平稳运行。 在之前的讲解中只是单独的使用shiro&…

SPSS探索性分析

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件可在个人主页—…

ElementUI之动态树+数据表格+分页

目录 前言 一.ElementUI之动态树 1.前端模板演示 2.数据绑定 2.1 通过链接获取后台数据 2.2 对链接进行绑定 2.3添加动态路由 2.4 配置路由 3.效果演示 二.数据表格动态分页 1.前端模板 2.通过JS交互获取后端数据 3 效果演示 前言 Element UI 是一个基于 Vue.js 的开…

1.4.C++项目:仿mudou库实现并发服务器之buffer模块的设计

一、buffer模块&#xff1a; 缓冲区模块 Buffer模块是一个缓冲区模块&#xff0c;用于实现通信中用户态的接收缓冲区和发送缓冲区功能。 二、提供的功能 存储数据&#xff0c;取出数据 三、实现思想 1.实现换出去得有一块内存空间&#xff0c;采用vector ,vector底层是一个…

华为智能企业上网行为管理安全解决方案(1)

华为智能企业上网行为管理安全解决方案&#xff08;1&#xff09; 课程地址方案背景需求分析企业上网行为概述企业上网行为安全风险分析企业上网行为管理需求分析 方案设计组网架构设备选型设备简介行为管理要点分析方案功能概述 课程地址 本方案相关课程资源已在华为O3社区发…

8个居家兼职,帮助自己在家搞副业

越来越多的人开始追求居家工作的机会&#xff0c;无论是为了获得更多收入以改善生活质量&#xff0c;还是为了更好地平衡工作和家庭的关系&#xff0c;居家兼职已成为一种趋势。而在家中从事副业不仅能够为我们带来额外的收入&#xff0c;更重要的是&#xff0c;它可以让我们在…

Vue 实现表单的增删改查功能及表单的验证

前言&#xff1a; 上一篇我们已经将前端表单的数据和后端的数据交互了&#xff0c;今天我们就继续开发功能来实现表单的增删改查功能及表单的验证 一&#xff0c;表单的增删改查功能 新增 去官网找模版&#xff1a; 1.1添加新增按钮&#xff1a; 1.2添加新增弹窗点击事件&am…

二叉树MFC实现

设有一颗二叉树如下&#xff1b; 这似乎是一颗经常用作示例的二叉树&#xff1b; 对树进行遍历的结果是&#xff0c; 先序为&#xff1a;3、2、2、3、8、6、5、4&#xff0c; 中序为&#xff1a;2、2、3、3、4、5、6、8&#xff0c; 后序为2、3、2、4、5、6、8、3&#xff1b…

基于Vue和Element UI实现前后端分离和交互

目录 前言 一、Element UI简介 1.Element UI是什么 2.Element UI的特点 二、项目搭建 1.创建一个SPA项目 2.安装 Element-UI 3.导入组件 4.创建登陆注册界面 登录组件---Login.vue 注册组件---Register.vue 定义组件与路由的对应关系 效果演示&#xff1a; 三、前…

Python中的正则表达式:常见问题与解决方案

正则表达式在Python中是一种非常强大的工具&#xff0c;用于处理文本数据。它可以帮助我们快速有效地进行模式匹配、搜索和替换。然而&#xff0c;在使用正则表达式时可能会遇到一些常见问题。本文将为您分享在Python中使用正则表达式时的常见问题与解决方案&#xff0c;并提供…

性能测试工具 — JMeter

一、JMeter准备工作 1、JMeter介绍 Apache JMeter 应用程序是开源软件&#xff0c;是一个 100% 纯 Java 应用程序。用于测试Web应用程序、API和其他网络协议的性能。它具有以下特点&#xff1a; 1. 开源免费&#xff1a;JMeter是Apache软件基金会下的一个开源项目&#xff0…

MySQL知识笔记——中级进阶之索引(实施工程师和DBA工作笔记)

在上一章中我们已经讲完了学习和实施工作中需要掌握的MySQL基础知识&#xff0c;但是在实际应用中这些基础只能让我们简单了解流程&#xff0c;以后的工作不只是简单的安装部署系统&#xff0c;我们还要将客户的数据导入数据库中才能完善系统的完整性和可使用性&#xff0c;接下…