httprunnermanager接口平台二次开发(十一):实现平台套件支持模块搜索

文章目录

      • 一、背景
      • 二、前后端实现
        • 2.1、先从前端页面入手suite_list.html
        • 2.2、顺藤摸瓜views.py-->suite_list-->get_pager_info方法
        • 2.3、后端加了字段,前端也需要同时考量两个方法
      • 三、总结
      • 四、心得交流

一、背景

需求还是内置测试需求,就是说一个小小热修上线,仅仅只是改动到某个模块的功能,那么测试只需回归这个模块的功能,不需要全量去回归接口自动化,当然这个诉求呢,从执行效率来说,目前全部接口执行完也不过5min,真的无伤大雅;不过呢,可以花两小时实现这个搜索,让它可以正常运作还是不错的。

在这里插入图片描述

二、前后端实现

2.1、先从前端页面入手suite_list.html

将搜索模块入口打开

<div class="am-btn-toolbars am-btn-toolbar am-kg am-cf"><form id="pro_filter" method="post" action="/api/suite_list/1/"><ul><li style="padding-top: 5px"><input value="{{ info.belong_project }}" type="text"name="belong_project"class="am-form-field am-input-sm am-input-xm"placeholder="所属项目"/></li><!-- 直接从测试用例列表复制模块搜索条件 --><li style="padding-top: 5px"><input value="{{ info.belong_module }}" type="text"name="belong_module"class="am-form-field am-input-sm am-input-xm"placeholder="所属模块"/></li><li style="padding-top: 5px"><input value="{{ info.name }}" type="text" name="name"class="am-form-field am-input-sm am-input-xm"placeholder="套件名称"/></li><li><button class="am-btn am-radius am-btn-xs am-btn-success"style="margin-top: 5px;">搜索</button><button class="am-btn am-btn-xs" style="margin-top: 5px;" id="clear" value="Reset">重置</button></li></ul></form></div>

搜索没有写js事件,action="/api/suite_list/1/"只有接口地址,

2.2、顺藤摸瓜views.py–>suite_list–>get_pager_info方法
    elif url == '/api/suite_list/':# 支持项目和模块同时查询if belong_project and belong_module:obj = obj.filter(belong_project__project_name__contains=belong_project).filter(belong_module__contains=belong_module).filter(Q(suite_name__contains=name) | Q(suite_name__contains=name))elif belong_project is not '':obj = obj.filter(belong_project__project_name__contains=belong_project)elif name is not '':obj = obj.filter(suite_name__contains=name)elif belong_module is not '':obj = obj.filter(belong_module__contains=belong_module)

新增suite支持查询,那问题是数据哪里来?要不要先去models添加模块字段?

在这里插入图片描述

2.3、后端加了字段,前端也需要同时考量两个方法

修改增加/编辑套件页面 add_suite.html/edit_suite.html

在这里插入图片描述

/*****/
const suite = {'project': $("#belong_project option:selected").val(),'module': $("#belong_module_id option:selected").val(),'include': include,'suite_name': $('#suite_name').val(),'updater': $('#updater').val(),'id': {{ info.id }},
/*****/

它俩是一样的js实现!

三、总结

这里有两个问题就是在获取belong_module的时候,js套用的是获取了project_id然后保存去套件的时候保存起来,这样就需要在后台处理:

在这里插入图片描述
后台模块获取还是从module表里来
在这里插入图片描述

四、心得交流

前面是新增了suite保存附带了module信息的功能,但是在编辑suite时保存,并没有获取到模块信息,保存时失败。无奈只能修改代码,到底是改前端还是后端?这里就交给读者自己去思量了,不过博主已经兼容好了,有需要的话可以交流一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/444011.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Altium Designer导入嘉立创EDA中的元器件原理图、封装图和3D模型

Altium Designer导入嘉立创EDA中的元器件原理图、封装图和3D模型 在立创商城找到需要使用的元器件&#xff0c;单击进入详情页。 立创商城_一站式电子元器件采购自营商城-嘉立创电子商城 进入详情页点击右侧【下载文件】。 点击【立即打开】。 在打开的立创EDA网页版中分别下…

大数据分析|从七个特征理解大数据分析

文献来源&#xff1a;Saggi M K, Jain S. A survey towards an integration of big data analytics to big insights for value-creation[J]. Information Processing & Management, 2018, 54(5): 758-790. 下载链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1…

正则表达式补充以及sed

正则表达式&#xff1a; 下划线算 在单词里面 解释一下过程&#xff1a; 在第二行hello world当中&#xff0c;hello中的h 与后面第一个h相匹配&#xff0c;所以hello中的ello可以和abcde匹配 在world中&#xff0c;w先匹配h匹配不上&#xff0c;则在看0&#xff0c;r&#…

ML:2-2-3 多分类问题multicalss

文章目录 1. 多分类问题的定义2. softmax3. 神经网络的softmax输出 【吴恩达机器学习65-67】 1. 多分类问题的定义 classification问题可能的output大于2种。 multiclass的预测图像可能是右侧这样的。 2. softmax softmax regression算法是logistic regression的泛化&#x…

win11安装wsl作为linux子系统并当作服务器

wsl安装 打开控制面板&#xff0c;找到启用或关闭windows功能 开启windows虚拟机监控平台和适用于Linux的Windows子系统&#xff0c;重启电脑。 打开microsoft store搜索ubuntu&#xff0c;找到合适的版本下载安装 输入wsl -l如下所示&#xff0c;即为安装成功。 安装过程比较…

基于C++的面向对象程序设计:类与对象的深入剖析

面向对象程序设计的基本特点 面向对象程序设计的基本特点包括&#xff1a;抽象、封装、继承、多态。 抽象 抽象是指对具体问题或对象进行概括&#xff0c;抽出其公共性质并加以描述的过程。一般情况抽象分为数据抽象和行为抽象&#xff0c;其中数据抽象是指一个对象区别于另…

【lesson4】高并发内存池ThreadCache(线程缓存)层实现

文章目录 ThreadCache层的结构申请内存逻辑释放内存逻辑自由链表的实现自由链表的成员变量自由链表的成员函数自由链表的完整实现 ThreadCache申请内存过程的实现ThreadCache需要的成员变量ThreadCache需要的成员函数ThreadCache.h文件代码Allocate的实现Deallocate的实现 封装…

Maven安装,学习笔记,详细整理maven的一些配置

Maven 1. 初识Maven 2. Maven概述 Maven模型介绍 Maven仓库介绍 Maven安装与配置 3. IDEA集成Maven 4. 依赖管理 01. Maven课程介绍 1.1 课程安排 学习完前端Web开发技术后&#xff0c;我们即将开始学习后端Web开发技术。做为一名Java开发工程师&#xff0c;后端 Web开发技术…

Asp.net移除Server, X-Powered-By, 和X-AspNet-Version头

移除X-AspNet-Version很简单,只需要在Web.config中增加这个配置节: <httpRuntime enableVersionHeader"false" />移除Server在Global.asax文件总增加&#xff1a; //隐藏IIS版本 protected void Application_PreSendRequestHeaders() {HttpContext.Current.Res…

RabbitMQ(一):最新版rabbitmq安装

目录 1 简介1.1特性及好处 2 安装2.1 Ubuntu22.04 apt安装最新rabbitmq1、一键部署2、验证3、RabbitMQWeb管理界面及授权操作4、添加远程用户5、一些常用命令 2.2 Docker安装RabbitMQ - Ubuntu22.041、安装docker2、启动rabbitmq 1 简介 RabbitMQ是一个开源的遵循AMQP协议实现…

【大厂AI课学习笔记】1.3 人工智能产业发展(3)

1.3.1 供给侧 技术层面&#xff1a;从实验室走向大规模的商用。 数据层面&#xff1a;数据正式成为重要的生产要素。 市场&#xff1a;供需互促的正向市场环境建立。 资本&#xff1a;走出炒作泡沫&#xff0c;聚焦价值领域。 平台&#xff1a;大厂普遍开放生态。 MORE&am…

js中原型和原型链的特点

文章目录 一、原型二、原型链三、总结参考文献 一、原型 JavaScript 常被描述为一种基于原型的语言——每个对象拥有一个原型对象 当试图访问一个对象的属性时&#xff0c;它不仅仅在该对象上搜寻&#xff0c;还会搜寻该对象的原型&#xff0c;以及该对象的原型的原型&#x…