html接口响应断言

接口响应值除类json格式,还有html格式

断言步骤

第一步:替换空格replace

原本返回的格式和网页内容一致,每行前面有很多空格,需要去除这些空格

第二步:分割split

因为行与行之前有回车符,所以把回车符替换掉,返回值为数组

数组不能直接打印数组,需要格式转换

 第三步,将数组内容转变为长的字符串

引用方法join将temp数组里的内容,用,分离开(separator分离)

 第四步,把逗号去掉

多行结果转换为一行结果

优化


第五步,得到html实际值和预期值

 

正则表达式

[]一次匹配一个字符,+是一次匹配多个字符 

需要匹配汉字,就写汉字的正则表达式,若还有数字,英文,下划线用\\w代替

将正则表达式,转换为真正的正则,赋值给p,将得到的html响应值用正则一一匹配(循环)

提取到实际值

得到结果就是excel表中的内容,实际想要搜索得到的书名

需要搜索的关键词+预期值一致

 

 第六步,断言对比

断言的内容和json格式一样,把2行代码复制过去

最终

 比对成功


 第七步,封装代码

1、新建类

2、写方法+复制之前的代码

json断言小变动,把入餐变量更改为response

3、更改代码 

与json断言的代码风格一致

4、测试类代码调用

 5、运行测试

运行结果是ok的,运行2条用例

第八步,搜索无结果用例

1、新增一条用例

 2、提取返回值内容

3、增加正则的判断

 

testrun代码中也将html入参由原本的单元格扩充为整个sheet,传入caseInfo

 

将html断言代码中入参从单元格换为case info一整个sheet 

 代码严谨

接口中包含querybook及接口是否有效,无结果就是无效,所以excel是no

优化最终代码

 4、更改断言的代码

原本是传入预期值,入参被更改,这里随之更改

 5、增加私有,增加注解

最终代码

html断言的代码

使用的excel测试用例 

textrun代码

 为保持风格一致,更改json断言代码入参

测试运行成功

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

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

相关文章

Spring之SpringMVC源码

SpringMVC源码 一、SpringMVC的基本结构 1.MVC简介 以前的纯Servlet的处理方式: Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String type req.getParameter(Constant.REQUEST_PA…

【Java面试】十六、并发篇:线程基础

文章目录 1、进程和线程的区别2、并行和并发的区别3、创建线程的四种方式3.1 Runnable和Callable创建线程的区别3.2 线程的run和start 4、线程的所有状态与生命周期5、新建T1、T2、T3,如何保证线程的执行顺序6、notify和notifyAll方法有什么区别7、wait方法和sleep方…

QT-轻量级的笔记软件MyNote

MyNote v2.0 一个轻量级的笔记软件📔 Github项目地址: https://github.com/chandlerye/MyNote/tree/main 应用简介 MyNote v2.0 是一款个人笔记管理软件,没有复杂的功能,旨在提供便捷的笔记记录、管理以及云同步功能。基于Qt 6.6.3 个人开…

MATLAB入门知识

目录 原教程链接:数学建模清风老师《MATLAB教程新手入门篇》https://www.bilibili.com/video/BV1dN4y1Q7Kt/ 前言 历史记录 脚本文件(.m) Matlab帮助系统 注释 ans pi inf无穷大 -inf负无穷大 i j虚数单位 eps浮点相对精度 0/&a…

Edge浏览器视频画中画可拉动进度条插件Separate Window

平时看一些视频的时候,一般需要编辑一些其他的东西,于是开启画中画,但是画中画没有进度条,需要大幅度的倒退前进得回到原视频,很麻烦。这里推荐插件Separate Window,可实现画中画进度条拉动和播放sudu的调节…

Transparent 且 Post-quantum zkSNARKs

1. 引言 前序博客有: SNARK原理示例SNARK性能及安全——Prover篇SNARK性能及安全——Verifier篇 上图摘自STARKs and STARK VM: Proofs of Computational Integrity。 上图选自:Dan Boneh 斯坦福大学 CS251 Fall 2023 Building a SNARK 课件。 SNARK…

工业通讯现场中关于EtherCAT转TCPIP网关的现场应用

在当今工业自动化的浪潮中,EtherCAT技术以其高效、实时的特性成为了众多制造业的首选。然而,随着工业互联网的发展,对于数据的远程访问和云平台集成的需求日益增长,这就需要将EtherCAT协议转化为更为通用的TCP/IP协议。于是开疆智…

Verilog实现的数字钟

在Verilog中实现一个数字钟通常会涉及到几个部分:时钟源(通常是一个外部晶振或PLL)、计数器、以及显示逻辑(可能是七段数码管或LCD显示)。这里,我将给出一个简化的Verilog代码示例,用于演示一个…

kafka-消费者-消费异常处理(SpringBoot整合Kafka)

文章目录 1、消费异常处理1.1、application.yml配置1.2、注册异常处理器1.3、消费者使用异常处理器1.4、创建生产者发送消息1.5、创建SpringBoot启动类1.6、屏蔽 kafka debug 日志 logback.xml1.7、引入spring-kafka依赖1.8、消费者控制台:1.8.1、第一次启动SpringK…

日进2000,我怎么做到的

昨天遇到一个有意思的项目,让我一天进账2000,一个字:爽。 这几天接洽了一位新客户,主要诉求就是优化系统,基于LNMP的系统优化。正好这个领域我比较熟悉,以前都是在公司做项目,也不怎么涉猎系统优…

Vue2计算属性(computed)和侦听器(watch)

文章目录 1.计算属性1.1 什么是计算属性1.2 计算属性怎么用?1.3 计算属性的作用 2.侦听器(watch)3.computed和watch选择4.什么时候用箭头函数什么时候用普通函数 1.计算属性 1.1 什么是计算属性 (1)Vue的原有属性:data对象当中的…

HCIP-Datacom-ARST自选题库_10_其他判断【23道题】

1.端到端时延等于路径上所有处理时延与队列时延之和。 2.部署PPP Multilink之后,数据将根据源地址和目的地址均匀的分配在各条成员链路上。 3.流镜像分为本地流镜像和远程流镜像两种方式。√ 4.IP报文中用Tos字段进行Q0S标记,Tos字段中是使用前6bit来…

知识图谱的应用---智能电网

文章目录 智能电网典型应用 智能电网 智能电网以物理电网为基础,将现代先进的传感测量技术、通讯技术、信息技术、计算机技术和控制技术与物理电网高度集成而形成的新型电网。它以充分满足用户对电力的需求和优化资源配置、确保电力供应的安全性、可靠性和经济性、满…

2024.6.9 四

Python的异常处理 在python里,错误和异常是不同的概念 错误: Python 的语法错误或者称之为解析错,大多是因为写代码写错了出现的 异常: 即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。 大多数的异常…

SAP_ABAP_消息类型

消息类型 A (Abort) - 中断消息 描述: 严重错误消息,表示操作无法继续。结果: 终止当前事务,用户必须修正错误后才能继续。使用场景: 当出现无法恢复的严重错误时使用。 E (Error) - 错误消息 描述: 错误消息,表示用户输入或操作有误。结果: …

用C++编写电机控制代码

在实际应用中,电机控制通常涉及到硬件接口,比如通过Arduino或Raspberry Pi这样的微控制器来实现。在这里我们可以先模拟一个简单的直流电机(DC Motor)控制程序的概念。我们假设有一个电机控制库,名为MotorControlLibra…

Ajax 快速入门

Ajax 概念:Ajax是一种Web开发技术,允许在不重新加载整个页面的情况下,与服务器交换数据并更新网页的部分内容。 作用: 数据交换:Ajax允许通过JavaScript向服务器发送请求,并能够接收服务器响应的数据。 异…

JavaScript Number 对象

JavaScript Number 对象 JavaScript 中的 Number 对象是内置的基本数据类型之一,用于表示数值。在 JavaScript 中,所有数字都是以 64 位浮点数的形式存储的,这意味着它可以表示整数和小数。本文将详细介绍 Number 对象的属性、方法和使用场景。 Number 对象的创建 创建 N…

STM32H750启动和内存优化(分散加载修改)

前些日子有个朋友一直给我推荐STM32H750这款芯片,说它的性价比,说它多么多么好。于是乎,这两天试了试,嚯,真香!我们先看看基本配置 这里简单总结下,cortex-m7内核,128k片内flash …

HTML-CSS练习例子

HTML CSS 练习 https://icodethis.com 作为前端练习生。不敲代码只看,入门是很慢的,所以直接实战是学习前端最快的途径之一。 这个网站练习HTML CSS的,可以打开了解一下,可以每天打卡,例子简单,循序渐进&…