4.5 nodejs自动化测试设计思路2

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

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,
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值