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 ...
随机推荐
- [LeetCode] 152. Maximum Product Subarray_Medium tag: Dynamic Programming
Given an integer array nums, find the contiguous subarray within an array (containing at least one n ...
- NSLog打印NSInteger老是有warning
zSpecifies that a following [...] conversion specifier applies to a size_t or the corresponding sign ...
- cloudflare的NS服务器地址
abby.ns.cloudflare.com, alex.ns.cloudflare.com, amy.ns.cloudflare.com,andy.ns.cloudflare.com, a ...
- html10
1.动画fadeIn() - 淡入fadeOut() - 淡出 -通过改变透明度(opacity隐藏之后依旧占着位置)实现节点的显示和隐藏show() - 显示hide() - 隐藏 -同时改变节点的 ...
- php端口号设置和查看
- class A where T:new()是什么意思
这是C#泛型类声明的语法 class A<T> 表示 A类接受某一种类型,泛型类型为T,需要运行时传入where表明了对类型变量T的约束关系. where T:new()指明了创建T的 ...
- Object之总结(一)
一.Object类中一共有12个方法.一个私有方法,两个保护方法,9个公共方法.另外还有一个静态代码块. 1.registerNatives方法.私有静态本地无参数无返回值. 2.finalize方法 ...
- 搭建Python3的jupyter notebook服务器
摘要:搭建Python3 jupyter notebook. 激活Python3后,进入Python交互环境 1. 登陆远程服务器 2. 生成配置文件 1. $jupyter notebook --g ...
- Impala和Hive的关系(详解)
Impala和Hive的关系 Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中.并且im ...
- python 同时迭代多个序列
每次分别从一个序列中取一个元素 >>> xpts = [1, 5, 4, 2, 10, 7] >>> ypts = [101, 78, 37, 15, 62, 99 ...