zoukankan      html  css  js  c++  java
  • HttpRunner学习4--使用正则表达式提取数据

    前言

    在HttpRunner中,我们可通过extract提取数据,当响应结果为 JSON 结构,可使用 content 结合 . 运算符的方式,如 content.code,用起来十分方便,但如果响应结果为 text/html 结构时,便不能这么用了。

    这时候,我们能不能使用正则表达式来提取呢?答案是肯定的。

    本人环境:HttpRunner V1.5.8

    测试场景

    在这里,我将访问 TesterHome 的首页,通过正则表达式来提取响应数据中的 title标题 ,下面是在浏览器中访问和Fiddler抓包的结果。

    访问TesterHome

    Fiddler抓包

    extract中正则提取和断言

    从上面的抓包结果中,我们如果要提取 标题title 中的 TesterHome 关键字,可以使用正则表达式为:<title>(.+?)</title>。YAML格式的用例如下:

    - test:
        name: visit TesterHome
        request:
          url: https://testerhome.com/
          method: GET
        extract:
          - title: <title>(.+?)</title>
        validate:
          - eq: [status_code, 200]
          - eq: [$title, "TesterHome"]
    

    使用正则提取的数据,放入参数 title 中,如果后面需要用到该参数,则通过 $title 来引用。

    validate中使用正则

    除了在 extract 提取响应数据时使用正则,我们也可以直接在断言时使用正则。YAML格式的用例如下:

    - test:
        name: visit TesterHome 2
        request:
          url: https://testerhome.com/
          method: GET
        validate:
          - eq: [status_code, 200]
          - eq: ['<title>(.+?)</title>', "TesterHome"]
    

    我在这里使用正则时,若直接用 <title>(.+?)</title> 会报错,我们加上 单引号或双引号 即可,如 '<title>(.+?)</title>'"<title>(.+?)</title>"

    完整的用例:

    - config:
        name: re test
    
    - test:
        name: visit TesterHome
        request:
          url: https://testerhome.com/
          method: GET
        extract:
          - title: <title>(.+?)</title>
        validate:
          - eq: [status_code, 200]
          - eq: [$title, "TesterHome"]
    
    - test:
        name: visit TesterHome 2
        request:
          url: https://testerhome.com/
          method: GET
        validate:
          - eq: [status_code, 200]
          - eq: ['<title>(.+?)</title>', "TesterHome"]
    
  • 相关阅读:
    SQL Server 2008 导出数据与导入数据任务介绍
    如何绕过chrome的弹窗拦截机制
    jquery操作select(增加,删除,清空)
    JSON详解
    Intellij+Spring学习(一)
    Intellij IEDA 14.0+Tomcat Servlet开发
    04-Spring的注解开发
    03-Spring的XML配置
    02-Spring与IOC
    01-Spring概述
  • 原文地址:https://www.cnblogs.com/wintest/p/11801547.html
Copyright © 2011-2022 走看看