• WebAPI文档与自动化测试


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

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

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

    1. ///
    2.   /// 微服务测试
    3.   ///
    4. public class MSController : Controller
    5. {
    6. ///
    7. /// Get or Post 测试
    8. ///
    9. /// "custom" type="header">post 消息
    10. /// "msg" required="true">post 消息
    11. /// "file" type="file">文件
    12. /// 返回Json数据
    13. [HttpGet]
    14. [HttpPost]
    15. [MicroService]
    16. public void Hello(string msg, System.Web.HttpPostedFile file)
    17. {
    18. if (file != null)
    19. {
    20. file.SaveAs(file.FileName);
    21. }
    22. if (Request.UrlReferrer != null)
    23. {
    24. Write("From : " + Request.UrlReferrer.ToString() + "\r\n");
    25. }
    26. Write("MicroService : " + MicroService.Config.AppRunUrl + Request.Url.LocalPath + " : " + Request.HttpMethod + " : " + msg ?? "Hello" + MicroService.Config.ServerName);
    27. }

    类特别说明:

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

    方法特别说明:

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

    2、下载文档的网页数据

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

    说明:

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

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

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

    3、运行访问网址

    路径为运行路径 /doc

    特别说明:

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

    app.UseStaticFiles();

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

     点进详情页:

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

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

    1. ///
    2. /// 全局【方法执行前拦截】
    3. /// 启用时:先全局,再执行局部(若存在)。
    4. ///
    5. public static bool BeforeInvoke(IController controller, string methodName)
    6. {
    7. if (controller.ControllerName == "doc")
    8. {
    9. controller.SetQuery("msg", "初始msg参数值。");
    10. }
    11. return true;
    12. }

    4、接口测试:

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

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

    5、批量测试:

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

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

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

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

    6、微服务文档

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

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

     说明:

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

    总结:

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

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

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

    在这里插入图片描述

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

  • 相关阅读:
    TDengine 入门教程②——基础概念和知识点
    数据结构之链表
    企业哪些项目可以参与CMMI的评估?
    漏电继电器HLJ-400FS
    已解决!nginx+php上传大文件返回502错误
    能用就行——玄学问题:Compile with TORCH_USE_CUDA_DSA to enable device-side assertions
    dolphinscheduler3.1.1 部署
    设置centos系统语言设置为中文
    【新书推荐】用户画像:了解用户,助力企业成长 ——《用户画像:平台构建与业务实践》
    java8:关闭钩子shutdown hook
  • 原文地址:https://blog.csdn.net/NHB456789/article/details/133273396