API接口自动化之3 同一个war包中多个接口做自动化测试

时间:2023-03-09 17:32:12
API接口自动化之3 同一个war包中多个接口做自动化测试

同一个war包中多个接口做自动化测试

一个接口用一个测试类,每个测试用例如下,比如下面是4个测试用例,每个详细的测试用例中含有请求入参,返回体校验,以此来判断每条测试用例是否通过

一个war包中,若含有多个接口,则增加多个测试类,每个测试类对应的测试用例

API接口自动化之3 同一个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包中多个接口做自动化测试