语言测试接口代码_接口测试平台代码实现107:登录态接口4

    本节我们要继续做登录态接口的js函数。

首先我们要修复上节的一个bug,就是展示这个登陆态函数的bug,由于作者的疏忽,导致加错了login_ :

24ba4dbbc18fcd1011a3de09f7fc15bc.png

改好之后我们继续开发,先是保存函数吧:

    这依然是一个比较大的段落代码,分两步,1-获取,2-发送。

我依然是复制了普通接口的保存函数进行了全部替换成login_并增删了一些字段的方法,道理很容易懂,但是修改这么一大段代码仍然是非常麻烦,稍不留神就会出错,所以大家复制我的成品代码即可(若是之后发现bug请及时反馈):

cf561e73664576b906812551b14f9837.png

function login_save(){        // 获取所有接口设置数据        var login_method = document.getElementById('login_method').value ;        var login_url = document.getElementById('login__url').value ;        var login_host = document.getElementById('login__host').value ;        var login_header = document.getElementById('login_header').value ;        var login_response_set = document.getElementById('login_response_set').value;        // 判断顶部的数据是否填充完        if(ts_method == 'none'){alert('请选择请求方式!');return}        if(ts_url == ''){alert('请输入url!');return}        if(ts_host == ''){alert('请输入host!');return}        //判断关键数据是否符合规则        if(login_host.slice(0,7) != 'http://' && login_host.slice(0,8) != 'https://' && login_host.slice(0,4) !='全局域名' ){            alert('host必须以http://或https://开头!');return        }        if(login_header != ''){            try {                JSON.parse(login_header)            }catch (e) {                alert('header请求头不符合json规范!');                return            }        }        var login_body_method = $('ul#login_myTab li[]')[0].innerText;        if(login_body_method == '返回体'){            alert('请切换到请求体tab再保存!')            return        }                if(login_body_method == 'none'){            var login_api_body = ''        }        if(login_body_method == 'form-data'){            var login_api_body = []; //新建这个空列表用来存放后续的数据            var tbody_ = $("table#login_mytable tbody")[0]; //获取该表格的内容部分            var trlist = tbody_.children ; //获取下面所有tr,每个tr就是一个键值对实际上            for(var i=0;i                var tdarr = trlist[i].children; // 获取tr下的俩个td                var key = tdarr[0].innerText; // 获取key                var value = tdarr[1].innerText; // 获取value                login_api_body.push([key, value]);// 作为一个数组,存放到这个大数组里。            }            var login_api_body = JSON.stringify(login_api_body);        }        if(login_body_method == 'x-www-form-urlencoded'){            var login_api_body = []; //新建这个空列表用来存放后续的数据            var tbody_ = $("table#login_mytable2 tbody")[0]; //获取该表格的内容部分            var trlist = tbody_.children ; //获取下面所有tr,每个tr就是一个键值对实际上            for(var i=0;i                var tdarr = trlist[i].children; // 获取tr下的俩个td                var key = tdarr[0].innerText; // 获取key                var value = tdarr[1].innerText; // 获取value                login_api_body.push([key, value]);// 作为一个数组,存放到这个大数组里。            }            var login_api_body = JSON.stringify(login_api_body);        }        if(login_body_method == 'Text'){            var login_api_body = document.getElementById('login_raw_Text').value;        }        if(login_body_method == 'JavaScript'){            var login_api_body = document.getElementById('login_raw_JavaScript').value;        }        if(login_body_method == 'Json'){            var login_api_body = document.getElementById('login_raw_Json').value;        }        if(login_body_method == 'Html'){            var login_api_body = document.getElementById('login_raw_Html').value;        }        if(login_body_method == 'Xml'){            var login_api_body = document.getElementById('login_raw_Xml').value;        }        if(login_body_method == 'GraphQL'){            body_plan_G_Q = document.getElementById('login_body_plan_G_Q').value;            body_plan_G_G = document.getElementById('login_body_plan_G_G').value;             var login_api_body = body_plan_G_Q+ '*WQRF*' + body_plan_G_G        }        $.get('/project_login_save/',{            'project_id':'{{ project.id }}',            'login_method':login_method,            'login_url':login_url,            'login_host':login_host,            'login_header':login_header,            'login_body_method':login_body_method,            'login_api_body':login_api_body,            'login_response_set':login_response_set,        },function (ret) {            document.location.reload();        })    }

代码中我设计了一个路由 用来保存这个登陆态接口设置,现在就去urls.py中进行映射书写:

5f6dadd234dfa6664d4d77fa72e4f01e.png

然后去views.py中进行开发这个函数,当然内容很简单:

d15804c49130189f2381d59c1396743f.png

# 保存登陆态接口def project_login_save(request):    # 提取所有数据    project_id = request.GET['project_id']    login_method = request.GET['login_method']    login_url = request.GET['login_url']    login_host = request.GET['login_host']    login_header = request.GET['login_header']    login_body_method = request.GET['login_body_method']    login_api_body = request.GET['login_api_body']    login_response_set = request.GET['login_response_set']    # 保存数据    DB_login.objects.filter(project_id=project_id).update(        api_method=login_method,        api_url = login_url,        api_header = login_header,        api_host = login_host,        body_method = login_body_method,        api_body = login_api_body,        set = login_response_set    )    # 返回    return HttpResponse('success')

搞定之后我们测试一下:

嗯保存,重新打开 都正常。所以这里功能就ok了。

本节内容到此结束。

下节课搞定:发送请求的调试功能前后端内容

感兴趣的可以加群,加博主微信:qingwanjianhua 拉你入群

加testerhome社团:https://testerhome.com/wqrf

关注博主博客:https://wangzijia.blog.csdn.net/

项目github地址:https://github.com/Woqurefan/ApiTest/

本公众号:测试开发干货

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值