给httprunnermanager接口自动化测试平台加点颜色(一)

news2024/12/23 18:29:00

文章目录

      • 一、背景
        • 1.1、部署过程略
      • 二、使用过程
        • 2.1、新增接口列
        • 2.2、实现搜索效果
      • 三、总结

一、背景

https://github.com/httprunner/HttpRunnerManager.git从github上找的接口测试平台,引入公司作为测试协同测试的平台,底层框架基于httprunner(requests+yaml+unittest),平台则基于Django+jinja2+sqlite实现,当然它里面还用了mq+定时任务+locust等等功能,按需索取!

1.1、部署过程略

这里需要提醒一下,最好使用python3.6.8版本,pip install -r requirements.txt时,注意依赖会报错;多百度一下也就可能解决了,最多体现的地方就是版本兼容问题。

二、使用过程

2.1、新增接口列

题主在使用中遇到一个问题,就是编写接口之后,path部分被包裹起来存入数据库了,如果想知道路径得点击名称进编辑页查看,还有就是想通过名称搜索获取接口信息,多少有点勉强,所以最好就是通过path来搜索,展示效果如下:一眼就能知道这些接口是一样的只是入参的某个值不一样
在这里插入图片描述

既然有想法就立马来实现,找到templates/test_list.html新增表头
在这里插入图片描述

再去表单中取值,但是这里需要注意一下,因为整个web框架是以httprunner为实现框架,它存起来的用例数据是一个个json对象,是满足它可以直接使用的。所以path部分不是单独存入数据库的,不然就可以像其他值一样取{{ foo.url }},那么它能改成将url单独存一个字段嘛?思考一下:能,需要做哪些工作呢?
在这里插入图片描述

这里有一个关于Django很有意义的知识点,就是在jinja2模板中使用python自定义的模板来渲染页面,怎么说呢?就像上面的url部分是在整个用例中,因为层级原因,并不能直接取值,所以需要处理,咱们先来看看用例数据是如何而来的。
在这里插入图片描述

看着存入数据库request字段的值,它需要取多少层才能得到url,很明显按其他的写法可能无法得到url,所以才需要自定义过滤器
在这里插入图片描述

在工程下找到templatetags目录,custom_tags.py已经有些写好的demo,也在实际场景运用起来了;
在这里插入图片描述

那么再接着写自己定义的过滤器
在这里插入图片描述

直接通过过滤器,提取出目标数据,jinja2模板渲染,原来是通过名称来搜索的,下面就要实现url来实现了
在这里插入图片描述

test_list.html默认文案修改,这个就更简单了
在这里插入图片描述

效果如下:
在这里插入图片描述

2.2、实现搜索效果

找到查询的db层操作,看看这个过滤是如何实现了,如果名字不是为空就查询,且看它是contains包含操作,所以支持模糊匹配

obj = obj.filter(name__contains=name) if name is not '' else obj.filter(author__contains=user)

那么对于结果就需要重新写了,|表示or,且还有一个Q,就这样实现了名称和request用例数据的模糊查询
在这里插入图片描述

from django.db.models import Q

obj = obj.filter(
    Q(request__contains=name) | Q(name__contains=name)) if name is not '' else obj.filter(
    author__contains=user)

三、总结

虽然这个平台已经停止维护了,在5年的开发背景下,还有很多不够完善的地方,比如在用例这里有编写者author数据,那么在suite页是不是也要显示一下?再有列表数据的维护,删除是一个一个的,那么批量删除它不香嘛?还有用例这里只负责执行,那么我想让它不执行又该如何做呢?等等这些在使用中相继被发现的,都需要被优化,既然是作为测试引入,而且也没有其他开发加入的情况下,测试就要担负起开发的责任,而且在实现方面,平台已经给足了样式,至于实现方式就仁者见仁智者见智了,日拱一卒无有尽,功不唐捐终入海

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SOLIDWORKS钣金设计需要考虑的折弯问题

设计需要考虑,究竟哪些是成型前加工,究竟哪些是成型后加工。 考虑工作制作工艺过程中,必须先折弯,后加工部分孔的情况有: 距离折弯边很近的圆孔,方孔,腰圆孔,螺纹等,下…

如何测试信号源或者发射机的回波损耗

信用源或者发射机的return loss测试过程 1.用网分线缆的第一步就是看线的抖动情况,后面还是要多注意 经过一系列排查后,选用两个抖动比较小的线缆,然后开始测试另外一台仪器。 2.检查测试仪器的输出功率,见图1 打开信号源或者发射…

项目管理-项目经理的5种权力

1、项目团队:是执行项目工作,以实现项目目标的一组人员,由为了完成项目而承担不同角色与职责的人员组成。 项目团队成员可能具备不同的技能,可能是全职的或兼职的,也可能随项目进展而增加或减少。尽管项目团队成员被分…

Mysql列的类型定义(二进制类型)

文章目录 前言一、类型图二、类型 1.BINARY和VARBINARY2.BIT类型3.BLOB类型三、实战建议总结 前言 二进制数据和文本数据在mysql 中的最大区别在于: 二进制类型存储原始的二进制数据(如图片,视频,exe文件等)。文本类型(TEXT)用来存储字符字…

【13】SCI易中期刊推荐——计算机工程 | 电子与电气(中科院4区)

💖💖>>>加勒比海带,QQ2479200884<<<💖💖 🍀🍀>>>【YOLO魔法搭配&论文投稿咨询】<<<🍀🍀 ✨✨>>>学习交流 | 温澜潮生 | 合作共赢 | 共同进步<<<✨✨ 📚📚>>>人工智能 | 计算机视觉…

【嵌入式】HC32F定时器PWM输出+PAC芯片实现模拟DA输出

目录 一 项目背景 二 原理说明 三 设计实现——定时器初始化 四 设计实现——PWM输出 五 梳理总结 一 项目背景 目前使用了TI的DAC芯片DAC7311&#xff0c;将MCU的4-20/0-20数据转化电压信号&#xff0c;经由一系列电路&#xff0c;最终输出4-20/0-20mA电流输出。 但是限于…

执行composer update报错(Segmentation fault php “${dir}/composer.phar“ “$@“)

在php项目中执行composer update&#xff0c;出现如图报错 可在php.ini文件中开启xdebug扩展&#xff0c;即可更新成功

(数字图像处理MATLAB+Python)第六章图像平滑-第二节:频域平滑滤波

文章目录 一&#xff1a;理想低通滤波&#xff08;1&#xff09;概述&#xff08;2&#xff09;程序 二&#xff1a;巴特沃斯低通滤波&#xff08;1&#xff09;概述&#xff08;2&#xff09;程序 三&#xff1a;指数低通滤波&#xff08;1&#xff09;概述&#xff08;2&…

Day1_vue集成elementUI主体布局

本次&#xff0c;将从0开始带你手撸一套SpringBootVue后台管理系统 从前端到后端&#xff0c;手把手搭建&#xff0c;方便学习从0学会基础实战&#xff01;&#xff01;&#xff01; 目录 软件版本 前端开发环境安装&#xff1a; vue-cli安装 : npm设置淘宝镜像加速: 创建v…

vue2+vue3——1~35

vue2vue3 尚硅谷vue2vue2 课程简介【02:24】vue2 Vue简介【17:59】vue2 Vue官网使用指南【14:07】vue2 搭建Vue开发环境【13:54】vue2 Hello小案例【22:25】了解&#xff1a; 不常用常用&#xff1a;id 更常用 简单class 差值总结vue 实例vue 模板 &#xff1a; 先 取 &#xf…

【香橙派+DHT11】香橙派(全志H616)+ DHT11温湿度传感器的驱动教程

目录 一、前言产品概述特点数据传送逻辑DHT11通信时序 二、代码GPIO初始化起始信号读取数据整体代码执行结果 一、前言 最近写DHT11的代码到香橙派&#xff08;全志H616&#xff09;上&#xff0c;发现网上案例基本上都是树莓派DHT11的居多&#xff0c;香橙派的少&#xff0c;…

Linux进程通信:无名管道

进程通信目的&#xff1a; &#xff08;1&#xff09;数据传输&#xff1a;进程间数据传输&#xff1b; &#xff08;2&#xff09;通知事件&#xff1a;一个进程向另一个或一组进程发送消息&#xff0c;通知某个事件的发生&#xff08;如子进程终止时需通知父进程&#xff0…

使用Lim测试平台快速完成批量造数

一、前言 在我们平时的测试过程中&#xff0c;经常遇到需要造大量数据的情况&#xff0c;比如&#xff1a;测试分页功能&#xff0c;性能压测、数据准备等。 这时我们可以通过写脚本或jmeter这类的工具来实现&#xff0c;但这些方式在团队协作的时候并不友好&#xff0c;当别人…

MySQL 函数和运算符

文章目录 一、MySQL 函数二、MySQL 运算符总结 一、MySQL 函数 MySQL 有很多内置的函数&#xff0c;以下列出了这些函数的说明。 二、MySQL 运算符 算术运算符 比较运算符 逻辑运算符 位运算符算术运算符 MySQL 支持的算术运算符包括: 除法运算和模运算中&#xf…

(2)elasticsearch环境搭建(win10)

安装jdk 版本选择&#xff1a;最好是java 8、java11或者java14 jdk兼容性&#xff1a;https://www.elastic.co/cn/support/matrix#matrix_jvm 操作系统兼容性&#xff1a;https://www.elastic.co/cn/support/matrix 自身兼容性&#xff1a;https://www.elastic.co/cn/suppo…

Linux下版本控制器(SVN) -服务器端环境搭建步骤

文章目录 进阶知识-Linux下版本控制器(SVN)4、服务器端环境搭建步骤4.1 安装服务器端程序4.2 验证是否安装成功4.3 创建并配置版本库4.4 配置 SVN对应的服务4.5 启动 SVN服务 本人其他相关文章链接 进阶知识-Linux下版本控制器(SVN) 4、服务器端环境搭建步骤 4.1 安装服务器端…

AD7356_SPI驱动程序设计_5MSPS_Verilog

好久没动手了&#xff0c;使用Verilog编写一个AD7356的SPI驱动程序。 AD7356是一个双通道、12位、低功耗的ADC。最高采样速率可达5MSPS&#xff0c;全功率输入带宽为110MHz。AD7356的引脚图如下。 SPI的时序图如下&#xff0c;为了使单通道的采样速率达到最高的5MSPS&#xff…

mac m1的docker nacos2.0.3访问宿主机器的mysql

一、环境介绍&#xff1a; 我的mac系统&#xff1a;m1芯片 macOs Ventura 13.1 我的docker版本&#xff1a;v20.10.8 本机msyql&#xff1a;8.0.25 端口&#xff1a;3306。 mysql版本查询脚本&#xff1a;select version() from dual; 二、准备安装nacos2.0.3 m1版本的镜像 …

Vue+Echarts 项目演练(中)后台数据接口的创建

全局引用Echarts与axios 后台接口创建express路由 api接口数据创建 全局引用Echarts与axios vue3.0的挂载方式&#xff1a;使用Provide/Inject依赖注入&#xff0c;将替代vue2中在原型链上挂载一些属性在app.vue中使用provider来给后代们提供数据 <script> import { p…

组态王与FX3U之间无线通讯(485BD口)

设备与设备之间互相通信&#xff0c;需要一座桥梁把二者连接起来&#xff0c;那就是传输通路与通信协议。 传输通路由传输介质与传输接口组成&#xff0c;传输介质可分为有线和无线传输介质两大类。传输接口即通信模块。传输接口常见的有三种RS-232、RS-485和RS-422通信模块。…