API接口自动化之3 同一个war包中多个接口做自动化测试
同一个war包中多个接口做自动化测试
一个接口用一个测试类,每个测试用例如下,比如下面是4个测试用例,每个详细的测试用例中含有请求入参,返回体校验,以此来判断每条测试用例是否通过
一个war包中,若含有多个接口,则增加多个测试类,每个测试类对应的测试用例
问题是:
1. 如果接口中需求复杂,入参较多,测试用例较多,则单个测试用例会非常的长,占很大的篇幅。比如注册接口,我遇到了20个入参,那我的键值对有20个左右;
注册接口,测试用例有上百个,那我一个java文件几千行,太长了,自己都不想看下去了。。。。
且如果后期,需求需要增加更多的入参,则单个接口的测试用例,相当于要全部改写更新。 。。
像这种复杂的接口,我能想到的就是请求体作为一个string, 存入DB中,然后从DB中取出,调接口测试,检查返回值。
对于单个接口表的设计,要用到,序号,测试用力名称,请求体,断言,通过标记
然后将统一的比如,url,请求方式,存放在关联表中。
CREATE TABLE API_TASK(
ID INT IDENTITY(1,1),
API_NAME VARCHAR(50),
API_HOST VARCHAR(100),
API_URL VARCHAR(500),
API_TYPE VARCHAR(50),
API_GROUPID INT,
API_MEMO VARCHAR(500)
) CREATE TABLE API_CASE(
CASE_ID INT IDENTITY(1,1) PRIMARY KEY,
API_ID INT,
CASE_NUM INT,
CASEPIORITY INT,
CASE_NAME VARCHAR(500),
CASE_BODY VARCHAR(500),
CASE_ASSERT VARCHAR(500),
CASE_PASS INT,
CASE_MEMO VARCHAR(500)
)
ALTER TABLE API_TASK ADD PRIMARY KEY (ID)
ALTER TABLE API_CASE ADD CONSTRAINT FK_API_ID FOREIGN KEY(API_ID) REFERENCES API_TASK (ID)
SELECT API_NAME,API_HOST,API_URL,API_TYPE,CASEPIORITY,CASE_NAME,CASE_BODY,CASE_ASSERT
FROM API_TASK
JOIN API_CASE ON Api_id =id
API接口自动化之3 同一个war包中多个接口做自动化测试的更多相关文章
- Linux下用jar命令替换war包中的文件【转】
问题背景:在Linux环境上的weblogic发布war包,有时候只是修改了几个文件,也要上传整个war包,这样很费时间,因此整理了一下Linux环境,更新单个文件的方法. 1.如果要替换的文件直接在 ...
- 替换war包中的文件
原文:https://blog.csdn.net/wuawua1/article/details/53906700 1.如果要替换的文件直接在war包的根目录(一级目录)下,直接使用jar uvf命令 ...
- Maven引入本地Jar包并打包进War包中
1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来. 2. 拷贝至项目根目录 项目根目录即pom.xml文件所在的同级目录,可以 ...
- python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)
简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试. 什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统 ...
- war包中少了class文件
用eclipse的maven工具打包(执行mvn clean install 和 mvn package)后,再启动wildfly, war包应该会自动复制到wildfly的deployment ...
- spring项目使用mave将第三方jar包打进war包中
背景:一个标准的ssm项目,需要使用到第三方jar,现需要将项目发布到liunx的服务器上,将项目打成war包,第三方war包也需要打进去 首先是直接打包,发现第三方jar包并没有打进去......蛋 ...
- MAVEN打包时没有将src/main/cache文件夹打到到WAR包中
某项目中ehcache配置文件写在src/main/cache中,结果用maven打包时,得到的WAR包里面没有这个文件夹 因为maven打包时默认只打包src/main/java中的文件和src/m ...
- 如何正确读取war包中配置文件的路径
转自:http://free-chenwei.iteye.com/blog/1507480 下面展示一段代码String path = getClass().getResource("/&q ...
- java war包 路径--解决war包中文件路径问题
https://blog.csdn.net/u013409283/article/details/51480948 转自:http://free-chenwei.iteye.com/blog/1507 ...
随机推荐
- 源代码下载 作者:王先荣(Xianrong Wang)
作者:王先荣(Xianrong Wang) 下面是我的一些源代码: 1. 图像处理学习系列源代码——包括该系列文章的几乎所有代码: 1.5. 图像处理学习系列中用到的dll文件包——将这个解压缩之后放 ...
- AnsiString和各种数据类型间相互转换 [数据转换]
//Ansistring 转 char void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString Test = " ...
- 001-Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...
- 认识GMT和UTC时间-附带地理知识
GMT-格林尼治标准时 GMT 的全名是格林威治标准时间或格林威治平时 (Greenwich Mean Time),这个时间系统的概念在 1884 年确立,由英国伦敦的格林威治皇家天文台计算并维护,并 ...
- IO(字节流)
1. 字节流类以InputStream 和 OutputStream为顶层类,他们都是抽象类(abstract) 2. 最重要的两种方法是read()和write(),它们分别对数据的字节进行读写.两 ...
- 循环ajax请求问题
项目开发过程碰到过这种需求:需要循环发送ajax请求,请求参数和循环索引有关.第一次实现的时候用了类似下面的方法,结果发现发送到后端的参数数据都是最后一次循环的索引 for(var i=0; i< ...
- Python装饰器的高级用法(翻译)
原文地址 https://www.codementor.io/python/tutorial/advanced-use-python-decorators-class-function 介绍 我写这篇 ...
- 原生JS操作AJAX
1,get方式的AJAX function sendAjaxReq() { //1,创建ajax引擎 XMLHttpRequest对象 var req = new XMLHttpRequest() | ...
- centos下gitlab私服完整安装部署(nginx+MySQL+redis+gitlab-ce+gitlab-shell+)
系统环境cat /etc/redhat-release CentOS release 6.8 (Final) nginx -vnginx version: nginx/1.9.15 redis-cli ...
- 01: awk常用
1.1 awk基本使用 1.找出当前登录用户数量 [root@localhost ~]# w 14:09:07 up 48 min, 2 users, load average: 0.00, 0.01 ...