接口测试平台代码实现番外:主页改版-2

简介: 接口测试平台代码实现番外:主页改版-2

我们上节成功做出了首页左上角的个人项目列表。它有几个功能:

  1. 显示备注 2.显示其他管理员 3.立即进入,4.保存右侧请求到接口库。


其中1,2,3 我们已经成功完成。本节我们把4 保存右侧请求到接口库功能做了吧。

打开Home.html,我们找到这个保存请求的按钮,给它写了一个onclick函数。注意,需要传入项目id

微信图片_20220704125949.png然后我们在下面找个地加上这个js函数:

微信图片_20220704130009.png

现在我们要考虑下这个函数要做的是什么事了...

首先要提取页面右侧的请求体,然后和项目id,一起传给后端,完毕后弹出个提示成功即可。


这里去获取页面各个复杂的输入框的内容的代码我们可以直接复制这个首页当时发送请求的js函数,因为发送请求也是需要获取页面的请求数据的。


最终代码如下:

<script>
    function save_api(id) {
        // 获取接口的所有数据
        var ts_method = document.getElementById('ts_method').value ;
        var ts_url = document.getElementById('ts_url').value ;
        var ts_host = document.getElementById('ts_host').value ;
        var ts_header = document.getElementById('ts_header').value ;
         // 判断顶部的数据是否填充完
        if(ts_method == 'none'){alert('请选择请求方式!');return}
        if(ts_url == ''){alert('请输入url!');return}
        if(ts_host == ''){alert('请输入host!');return}
         //判断关键数据是否符合规则
        if(ts_host.slice(0,7) != 'http://' && ts_host.slice(0,8) != 'https://'){
            alert('host必须以http://或https://开头!');return
        }
        if(ts_header != ''){
            try {
                JSON.parse(ts_header)
            }catch (e) {
                alert('header请求头不符合json规范!');
                return
            }
        }
        var ts_body_method = $('ul#myTab li[class="active"]')[0].innerText;
        if(ts_body_method == 'none'){
            var ts_api_body = ''
        }
        if(ts_body_method == 'form-data'){
            var ts_api_body = []; //新建这个空列表用来存放后续的数据
            var tbody_ = $("table#mytable tbody")[0]; //获取该表格的内容部分
            var trlist = tbody_.children ; //获取下面所有tr,每个tr就是一个键值对实际上
            for(var i=0;i<trlist.length;i++) {
                var tdarr = trlist[i].children; // 获取tr下的俩个td
                var key = tdarr[0].innerText; // 获取key
                var value = tdarr[1].innerText; // 获取value
                ts_api_body.push([key, value]);// 作为一个数组,存放到这个大数组里。
            }
            ts_api_body = JSON.stringify(ts_api_body);
        }
        if(ts_body_method == 'x-www-form-urlencoded'){
            var ts_api_body = []; //新建这个空列表用来存放后续的数据
            var tbody_ = $("table#mytable2 tbody")[0]; //获取该表格的内容部分
            var trlist = tbody_.children ; //获取下面所有tr,每个tr就是一个键值对实际上
            for(var i=0;i<trlist.length;i++) {
                var tdarr = trlist[i].children; // 获取tr下的俩个td
                var key = tdarr[0].innerText; // 获取key
                var value = tdarr[1].innerText; // 获取value
                ts_api_body.push([key, value]);// 作为一个数组,存放到这个大数组里。
            }
            ts_api_body = JSON.stringify(ts_api_body);
        }
        if(ts_body_method == 'Text'){
            var ts_api_body = document.getElementById('raw_Text').value;
        }
        if(ts_body_method == 'JavaScript'){
            var ts_api_body = document.getElementById('raw_JavaScript').value;
        }
        if(ts_body_method == 'Json'){
            var ts_api_body = document.getElementById('raw_Json').value;
        }
        if(ts_body_method == 'Html'){
            var ts_api_body = document.getElementById('raw_Html').value;
        }
        if(ts_body_method == 'Xml'){
            var ts_api_body = document.getElementById('raw_Xml').value;
        }
        if(ts_body_method == 'GraphQL'){
            body_plan_G_Q = document.getElementById('body_plan_G_Q').value;
            body_plan_G_G = document.getElementById('body_plan_G_G').value;
             var ts_api_body = body_plan_G_Q+ '*WQRF*' + body_plan_G_G
        }
         // 发送请求给后台
         $.get('/Home_save_api/',{
            'ts_method':ts_method,
            'ts_url':ts_url,
            'ts_host':ts_host,
            'ts_header':ts_header,
            'ts_body_method':ts_body_method,
            'ts_api_body':ts_api_body,
        },function (ret) {
            alert('保存成功!')
        })
    }
</script
相关文章
|
1月前
|
关系型数据库 MySQL 测试技术
【分享】AgileTC测试用例管理平台使用分享
AgileTC 是一个脑图样式测试用例管理平台,支持用例设计、执行与团队协作,帮助测试人员高效管理测试流程。
177 116
【分享】AgileTC测试用例管理平台使用分享
|
24天前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
161 1
|
1月前
|
人工智能 数据可视化 测试技术
AI测试平台自动遍历:低代码也能玩转全链路测试
AI测试平台的自动遍历功能,通过低代码配置实现Web和App的自动化测试。用户只需提供入口链接或安装包及简单配置,即可自动完成页面结构识别、操作验证,并生成可视化报告,大幅提升测试效率,特别适用于高频迭代项目。
|
1月前
|
人工智能 测试技术 调度
写用例写到怀疑人生?AI 智能测试平台帮你一键生成!
霍格沃兹测试开发学社推出AI智能测试用例生成功能,结合需求文档一键生成高质量测试用例,大幅提升效率,减少重复劳动。支持自定义提示词、多文档分析与批量管理,助力测试人员高效完成测试设计,释放更多时间投入核心分析工作。平台已开放内测,欢迎体验!
|
1月前
|
人工智能 测试技术 项目管理
测试不再碎片化:AI智能体平台「项目资料套件」功能上线!
在实际项目中,需求文档分散、整理费时、测试遗漏等问题常困扰测试工作。霍格沃兹推出AI智能体测试平台全新功能——项目资料套件,可将多个关联文档打包管理,并一键生成测试用例,提升测试完整性与效率。支持套件创建、文档关联、编辑删除及用例生成,适用于复杂项目、版本迭代等场景,助力实现智能化测试协作,让测试更高效、更专业。
|
2月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
29天前
|
人工智能 边缘计算 搜索推荐
AI产品测试学习路径全解析:从业务场景到代码实践
本文深入解析AI测试的核心技能与学习路径,涵盖业务理解、模型指标计算与性能测试三大阶段,助力掌握分类、推荐系统、计算机视觉等多场景测试方法,提升AI产品质量保障能力。
|
1月前
|
人工智能 自然语言处理 测试技术
AI测试平台的用例管理实践:写得清晰,管得高效,执行更智能
在测试过程中,用例分散、步骤模糊、回归测试效率低等问题常困扰团队。霍格沃兹测试开发学社推出的AI测试平台,打通“用例编写—集中管理—智能执行”全流程,提升测试效率与覆盖率。平台支持标准化用例编写、统一管理操作及智能执行,助力测试团队高效协作,释放更多精力优化测试策略。目前平台已开放内测,欢迎试用体验!
|
2月前
|
存储 人工智能 文字识别
从零开始打造AI测试平台:文档解析与知识库构建详解
AI时代构建高效测试平台面临新挑战。本文聚焦AI问答系统知识库建设,重点解析文档解析关键环节,为测试工程师提供实用技术指导和测试方法论