• 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 = "添加成功" };
    
                }
    
            }
    
    
    
    
    
        }
    
    }
    
    
    
    牛人之所以是牛人,是因为你现在在踩的坑,他曾经都已经踩过了。
  • 相关阅读:
    Insertion Sort List
    Same Tree
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    ZigZag Conversion
    Reverse Integer
    String to Integer (atoi)
    Palindrome Number
    eclipse 导入tortoiseSVN检出项目,不显示svn信息(eclipse安装svn插件)
    exception ORA-00918: 未明确定义列
  • 原文地址:https://www.cnblogs.com/dwBurning/p/autoapitest-csharp.html
Copyright © 2020-2023  润新知