前言

有些接口返回的并不是json格式的内容,返回的是html或者xml格式的内容,这种就不能用前面的 content.的方法去提取了。

httprunner 支持正则表达式提取(extract)参数,也支持正则表达式校验(validate)

返回html

比如我请求博客园的首页https://www.cnblogs.com/yoyoketang/,返回的是应该html格式的内容

接下来我要提取html里面的 <title>上海-悠悠 - 博客园</title> 中间的文字 上海-悠悠 - 博客园

正则提取参数(extract)

正则提取语法 '<title>(.+?)</title>', 提取出来给变量title,用例保存为 test_blog_yoyo.yml

# # 上海悠悠,QQ交流群:750815713
- config:
name: test demo - test:
name: test demo case1
request:
url: https://www.cnblogs.com/yoyoketang/
method: GET
headers:
User-Agent: Fiddler
Content-Type: application/json
verify: false
extract:
- title: '<title>(.+?)</title>'
validate:
- eq: [status_code, 200]

用debug模式运行

hrun test_blog_yoyo.yml --log-level debug

用 debug 模式可以看到参数提取成功了,后面如果用例有用到这个参数,可以用 $title 引用

正则表达式校验(validate)

对返回的html内容,需要校验结果。之前json格式是通过 content. 的方式去提取,正则表达式提取直接写正则语法就可以了。

用例保存为 test_blog_yoyo.yml

# # 上海悠悠,QQ交流群:750815713
- config:
name: test demo - test:
name: test demo case1
request:
url: https://www.cnblogs.com/yoyoketang/
method: GET
headers:
User-Agent: Fiddler
Content-Type: application/json
verify: false
extract:
- title: '<title>(.+?)</title>'
validate:
- eq: [status_code, 200]
- eq: ['<title>(.+?)</title>', 上海-悠悠 - 博客园]

运行用例就可以看到校验成功了,如果有多个地方需要校验,那就校验多次。

httprunner学习22-正则表达式提取(extract)与校验(validate)的更多相关文章

  1. JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一)概述及简单实例

    上文我们讲述了如何对 HTTP请求 的响应数据进行断言,以判断响应是否符合我们的预期,敬请参阅:JMeter学习-007-JMeter 断言实例之一 - 响应断言 那么我们如何获取 HTTP请求 响应 ...

  2. JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇

    前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例.多参数获取,相应博文敬请参阅 简单实例.多参数获取. 此文主要讲述如何引用正则表达式提取器获取的数据信息.其实,正则表达式提取器获 ...

  3. JMeter学习-009-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取

    前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一). ...

  4. 【JMeter4.0学习(十)】之JMeter函数简单运用以及结合正则表达式提取器

    下面来简单的举个栗子: 首先,把函数和正则表达式提取器放在一块来介绍,如下所示: 1.结构完整展示,下面再一步一步创建添加: 2.添加线程组: 3.首先添加HTTP请求1 4.添加结果树后,运行后查看 ...

  5. Jmeter压测学习3---通过正则表达式提取token

    上一个随笔记录的是用json提取器提取token,这个随笔记录用正则表达式提取token 一.添加正则表达式 登录右击添加->后置处理器->正则表达式提取器 正则提取器参数说明: 要检查的 ...

  6. httprunner学习15-运行用例命令行参数详解

    前言 HttpRunner 在命令行中启动测试时,通过指定参数,可实现丰富的测试特性控制. 命令行参数CLI 使用 -h 查看相关命令行参数 hrun -h 参数名称 参数值 参数说明 -h, --h ...

  7. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11 ...

  8. Jmeter接口测试-正则表达式提取器-提取token

    在使用Jmeter过程中会有这样的场景, A接口执行后返回json字符串, 这个json中有B接口需要的某一个参数, 那如何来实现呢? 第一步:添加正则表达式 方法非常简单, 这就是我们今天要讲的正则 ...

  9. java正则表达式提取地址中的ip和端口号

    由于我需要用到java正则表达式提取地址中的ip和端口号,所以我就写了一个demo,测试一下,下面是demo public class Test0810_1 { public static void ...

随机推荐

  1. java基础 static

    参考文章: 静态导包:https://blog.csdn.net/u012338954/article/details/51010337 常量池:http://blog.sina.com.cn/s/b ...

  2. ASP.Net Core使用分布式缓存Redis从入门到实战演练

    一.课程介绍 人生苦短,我用.NET Core!缓存在很多情况下需要用到,合理利用缓存可以一方面可以提高程序的响应速度,同时可以减少对特定资源访问的压力.  所以经常要用到且不会频繁改变且被用户共享的 ...

  3. c++ builder调用sql server的存储过程进行数据的下载和上传

    小小的几行代码,在这里搞了一天.好好的一个周六过的无比的难受.代码很简单,但是主要原因是因为在用合作商的软件上传数据的时候有些框框没有勾选. come on....... 1.用两个控件ADOConn ...

  4. python读取word中的段落、表、图+++++++++++Doc转换Docx

    读取文本.图.表.解压信息 import docx import zipfile import os import shutil '''读取word中的文本''' def gettxt(): file ...

  5. MVVM模式理解(转)

    原文https://www.cnblogs.com/goloving/p/8520030.html MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心 ...

  6. ABP 临时禁用TenantId IsDelete过滤

    由于业务需求,需要查询host的配置,所以要放开权限给租户查询其他租户的数据 直接在业务方法内嵌套 List<string> list = new List<string>() ...

  7. 百度webuploader如何实现秒传与断点续传

    因为这是小众需求,所以默认没有做在webuploader里面,而只是提供hook接口,让用户很简单的扩展此功能. 那么,都有哪些重要的hook接口呢? before-send-file 此hook在文 ...

  8. 豆瓣Top250

    """ 爬取豆瓣电影TOP250 - 完整示例代码 """ import codecs import requests from bs4 i ...

  9. 查看mysql字符集、修改数据库、数据表、字段字符集

    查看所有表的字符集 SELECT table_name, table_type, engine, version, table_collation FROM information_schema.ta ...

  10. arm树莓派Raspbian 下安装selenium+chrome

    arm树莓派Raspbian 下安装selenium+chrome 安装selenium pip3 install selenium 安装chromedriver sudo apt-get insta ...