1、在上文中采用了数据、case、测试代码分离的方式设计,但是在实际操作中还有点问题,并且还有很大的优化空间,首先就是参数引用的问题,在上文中,没有对提取的参数作别名处理,所以提取到了重名的参数会覆盖掉之前的,现修正如下
config/case/task_case.js
const pathList = require('../../config/global/path')
const data = require('../data/task')
/**
* @description isQuote:true,为true时,说明引用了提取的字段,引用字段要和提取字段名称一致,且引用字段名称前面需要加$符号
* @description isExtract:1 提取reqest,2提取response,3 提取request和response
* @description as:别名
*/
exports.task = [
{
isExtract: 2,
name: 'keyword',
config: {
url: pathList.keywordPathList.save,
method: 'post',
headers: {},
data: data.keyword
},
assert: [{code: '0000'}, {msg: '执行成功'}],
res_extract: ['data'],
as: {
data: 'id'
}
},
{
isQuote: true,
isExtract: 3,
name: 'save',
config: {
url: pathList.taskList.save,
method: 'post',
headers: {},
data: data.save
},
assert: [{code: '0000'}, {msg: '一切ok'}],
res_extract: ['data'],
req_extract: ['spiderName']
},
{
isQuote: true,
name: 'edit',
config: {
url: pathList.taskList.save + '/' + '{data}',
method: 'put',
headers: {},
data: data.edit
},
assert: [{code: '0000'}, {msg: '一切ok'}, {data: '修改任务完成'}]
},
{
isQuote: true,
name: 'get',
config: {
url: pathList.taskList.save,

本文介绍了如何优化接口测试用例设计,通过别名处理解决参数重名问题,提供了一套提取和保存数据的函数,并展示了动态加载策略的示例,使得在接口测试中,用户只需添加新的测试用例文件,无需改动逻辑代码。
最低0.47元/天 解锁文章
941

被折叠的 条评论
为什么被折叠?



