zoukankan      html  css  js  c++  java
  • Python搭建接口自动化测试框架-Java-SpringBoot

    项目介绍

    AutoApiTest

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

    项目仓库

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

    API部分-Java-SpringBoot

    1.下载项目=>戳我
    2.pom.xml

    org.springframework.boot

                      spring-boot-starter-web

    具体的步骤不写了,可以参考网上其他的资料

    3.核心代码

    package auto.test.api.controller;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    
    import auto.test.api.models.OutPut;
    import auto.test.api.models.Person;
    
    @RestController
    @RequestMapping(value = "api/person")
    public class PersonController {
    
    	static List<Person> persons;
    
    	public PersonController() {
    		persons = new ArrayList<Person>();
    	}
    
    	@RequestMapping(method = RequestMethod.GET)
    	public OutPut<List<Person>> get() {
    		OutPut<List<Person>> outPut = new OutPut<List<Person>>();
    		outPut.setCode(0);
    		outPut.setData(persons);
    		outPut.setMessage("获取成功");
    		return outPut;
    	}
    
    	@RequestMapping(value = "/{id}", method = RequestMethod.GET)
    	public OutPut<Person> Get(@PathVariable("id") int id) {
    		Person person = persons.stream().filter(x -> x.getId() == id).findFirst().orElse(null);
    		if (person != null) {
    			OutPut<Person> outPut = new OutPut<Person>();
    			outPut.setCode(0);
    			outPut.setData(person);
    			outPut.setMessage("获取成功");
    			return outPut;
    		} else {
    			OutPut<Person> outPut = new OutPut<Person>();
    			outPut.setCode(-1);
    			outPut.setData(person);
    			outPut.setMessage("人事资料不存在");
    			return outPut;
    		}
    	}
    
    	@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
    	public OutPut<String> delete(@PathVariable("id") int id) {
    		Person person = persons.stream().filter(x -> x.getId() == id).findFirst().orElse(null);
    		if (persons.remove(person)) {
    			OutPut<String> outPut = new OutPut<String>();
    			outPut.setCode(0);
    			outPut.setMessage("删除成功");
    			return outPut;
    		} else {
    			OutPut<String> outPut = new OutPut<String>();
    			outPut.setCode(-1);
    			outPut.setMessage("人事资料不存在");
    			return outPut;
    		}
    	}
    
    	@RequestMapping(method = RequestMethod.PATCH)
    	public OutPut<String> Patch(@RequestBody Person person) {
    		Person p = persons.stream().filter(x -> x.getId() == person.getId()).findFirst().orElse(null);
    		if (p != null) {
    			p.setName(person.getName());
    			p.setAge(person.getAge());
    			OutPut<String> outPut = new OutPut<String>();
    			outPut.setCode(0);
    			outPut.setMessage("修改成功");
    			return outPut;
    		} else {
    			OutPut<String> outPut = new OutPut<String>();
    			outPut.setCode(-1);
    			outPut.setMessage("人事资料不存在");
    			return outPut;
    		}
    	}
    
    	@RequestMapping(method = RequestMethod.POST)
    	public OutPut<String> post(@RequestBody Person person) {
    		Person p = persons.stream().filter(x -> x.getId() == person.getId()).findFirst().orElse(null);
    		if (p != null) {
    			OutPut<String> outPut = new OutPut<String>();
    			outPut.setCode(-1);
    			outPut.setMessage("人事资料已存在");
    			return outPut;
    		} else {
    			persons.add(person);
    			OutPut<String> outPut = new OutPut<String>();
    			outPut.setCode(0);
    			outPut.setMessage("添加成功");
    			return outPut;
    
    		}
    	}
    }
    
    

    运行:

    牛人之所以是牛人,是因为你现在在踩的坑,他曾经都已经踩过了。
  • 相关阅读:
    关于在MAC上进行 LARAVEL 环境 Homestead 安装过程记录
    js 贷款计算器
    js 实现阶乘
    js 两点间距离函数
    composer Your requirements could not be resolved to an installable set of packages
    vue 项目优化记录 持续更新...
    vue 项目打包
    vue 真机调试页面出现空白
    vue 真机调试
    谈谈-Android状态栏的编辑
  • 原文地址:https://www.cnblogs.com/dwBurning/p/autoapitest-java.html
Copyright © 2011-2022 走看看