zoukankan      html  css  js  c++  java
  • Python搭建接口自动化测试框架-API部分-C#-Asp.Net Core

    项目介绍

    AutoApiTest

    基于python的接口自动化测试框架
    Test部分基于yingoja开源的DemoApi优化修改而来
    API部分将继续完善,提供基于C#,Go,Java,Python版本的Api服务程序,目的是为了学习接口测试的同学不需要去搭建其他语言的运行环境,顺便我也复习一下这几门语言的基础语法。

    项目仓库

    https://github.com/dwBurning/AutoApiTest.git

    API部分-C#-Asp.Net Core

    C#是我的第一语言,对比Go,Java,Python,还是觉得C#的语法,最好使,也最优雅,不要喷我,这只是个人观点。
    这部分很简单就不做过多的介绍了,如果你的电脑上安装了.NetCore的环境,那么拉取代码后直接运行就行了,核心类PersonController提供满足restful接口规范的http服务,对Person资源执行增删改查。

    using Microsoft.AspNetCore.Mvc;
    
    using System;
    
    using System.Collections.Generic;
    
    using System.Linq;
    
    using System.Threading.Tasks;
    
    
    
    namespace AutoApiTest.Controllers
    
    {
    
        /// <summary>
    
        /// 人事信息管理
    
        /// </summary>
    
        [ApiController]
    
        [Route("api/[controller]")]
    
        public class PersonController : ControllerBase
    
        {
    
            static List<Person> peoples = new List<Person>();
    
    
    
            /// <summary>
    
            /// 获取所有的人事信息
    
            /// </summary>
    
            /// <returns></returns>
    
            [HttpGet]
    
            public OutPut<List<Person>> Get()
    
            {
    
                return new OutPut<List<Person>>() { Code = 0, Message = "获取成功", Data 
    = peoples }; ;
    
            }
    
    
    
            /// <summary>
    
            /// 根据ID获取人事信息
    
            /// </summary>
    
            /// <returns></returns>
    
            [HttpGet("{id}")]
    
            public OutPut<Person> Get(int id)
    
            {
    
                var p = peoples.Find(x => x.Id == id);
    
                if (p != null)
    
                {
    
                    return new OutPut<Person>() { Code = 0, Message = "获取成功", Data = 
    p };
    
                }
    
                else
    
                {
    
                    return new OutPut<Person>() { Code = -1, Message = "人事资料不存在" 
    };
    
                }
    
            }
    
    
    
            /// <summary>
    
            /// 根据ID删除人事信息
    
            /// </summary>
    
            /// <param name="id"></param>
    
            [HttpDelete("{id}")]
    
            public OutPut<string> Delete(int id)
    
            {
    
                if (peoples.Remove(peoples.Find(x => x.Id == id)))
    
                {
    
                    return new OutPut<string>() { Code = 0, Message = "删除成功" };
    
                }
    
    
    
                return new OutPut<string>() { Code = -1, Message = "人事资料不存在" };
    
            }
    
    
    
            /// <summary>
    
            /// 修改人事信息
    
            /// </summary>
    
            /// <param name="person"></param>
    
            /// <returns></returns>
    
            [HttpPatch("{id}")]
    
            public OutPut<string> Patch(Person person)
    
            {
    
                var p = peoples.Find(x => x.Id == person.Id);
    
                if (p != null)
    
                {
    
                    p.Name = person.Name;
    
                    p.Age = person.Age;
    
                    return new OutPut<string>() { Code = 0, Message = "修改成功" };
    
                }
    
                else
    
                {
    
                    return new OutPut<string>() { Code = -1, Message = "人事资料不存在" 
    };
    
                }
    
            }
    
    
    
            /// <summary>
    
            /// 新增人事资料
    
            /// </summary>
    
            /// <param name="person"></param>
    
            /// <returns></returns>
    
            [HttpPost]
    
            public OutPut<string> Post(Person person)
    
            {
    
                var p = peoples.Find(x => x.Id == person.Id);
    
                if (p != null)
    
                {
    
                    return new OutPut<string>() { Code = -1, Message = "人事资料已存在" 
    };
    
                }
    
                else
    
                {
    
                    peoples.Add(person);
    
                    return new OutPut<string>() { Code = 0, Message = "添加成功" };
    
                }
    
            }
    
    
    
    
    
        }
    
    }
    
    
    
    牛人之所以是牛人,是因为你现在在踩的坑,他曾经都已经踩过了。
  • 相关阅读:
    自动代码质量分析示例搭建
    Springboot监听多个端口
    restFul风格调用get、post请求(包含文件上传与下载)
    主机和虚拟机的网络互通设置
    centos7 linux 安装mysql
    【Flutter】ShaderMash 着色器实现渐变色文字
    Git强制还原本地文件到特定的版本
    VS一直显示“正在从以下位置***加载符号”的解决办法
    .net类库
    hyperf json-rpc剖析
  • 原文地址:https://www.cnblogs.com/dwBurning/p/autoapitest-csharp.html
Copyright © 2011-2022 走看看