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;
    
    		}
    	}
    }
    
    

    运行:

    牛人之所以是牛人,是因为你现在在踩的坑,他曾经都已经踩过了。
  • 相关阅读:
    Vuex核心属性(上)
    layui 将json字符串以表格的形式展现出来
    Vue 路由懒加载 和 路由导航守卫
    jq遍历服务器发送过来的json字符串
    前端的发展
    关于定义函数的几种方式 及(箭头函数)
    js 子页面获取父页面的值
    关于数组的响应式方法和非响应式方法
    python3 -- random 模块
    多任务编程 -- multiprocessing 模块(创建多进程、进程池使用、进程间通信)
  • 原文地址:https://www.cnblogs.com/dwBurning/p/autoapitest-java.html
Copyright © 2011-2022 走看看