httprunner學習22-正則表達式提取(extract)與校驗(validate)


前言

有些接口返回的並不是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>', 上海-悠悠 - 博客園]

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM