Fork me on GitHub

httprunner4.x学习 - 01-安装和简单使用案例

前言:

HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型。简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力。

现在版本已经迭代到V4.3.0,我以V4.3.0版本作为学习案例。

windows环境安装:

pip install httprunner

安装完成后,可以用hrun 命令了,比如查看版本:

C:\Users\DELL>hrun -V
v4.3.0

脚手架创建项目:

1.阅读官方文档,httprunner迭代到4.X后,新增了hrp命令,可以上github上下载hrp.exe工具:

 解决到任一目录:

 2.配置环境变量:

3.试着用它来创建项目:

hrp startproject httprunnerV4.0_demo

 从打印日志可以看出,hrp主要是调用cmd.exe命令来先创建python虚拟机(C:\Users\DELL\.hrp\venv),然后在上面创建项目,看了其它博客都是你抄我,我抄你的,完全不了解其中的原理,这也导致遇到以下问题时,不会自己解决,比如这哥们:

 

分析:

其中的问题就是:Error: pip install funppy==v0.5.0 failed: pip install package failed: exec: "cmd.exe": executable file not found in %PATH%: prepare python3 venv failed

分析根因:hrp在调用cmd时,没有找到cmd.exe,猜想就是自己的cmd环境变量没配置好(我开始也遇到过)

解决方式:很简单,在Path加上cmd的环境变量就行了:

%SystemRoot%\system32;%SystemRoot%;C:\Windows\System32\cmd.exe;

 

 创建后,如下是项目的目录结构

httprunnerV4.0_demo
├── .env
├── .gitignore
├── debugtalk.py
├── har
│   └── .keep
├── reports
│   └── .keep
└── testcases
    ├── demo_ref_testcase.yml
    ├── demo_requests.yml
    └── demo_with_funplugin.json

相关目录与文件说明

  • .env 是环境配置文件
  • .gitignore 传git仓库时忽略文件
  • debugtalk.py 辅助函数功能文件
  • har 录制的文件目录
  • eports 报告目录
  • testcases 测试用例目录

其中,testcases 文件夹中包含了多个示例测试用例,我们写自动化用例主要是在这目录编写yml文件

编写测试场景:

接口间的参数依赖是最常见的,我这里的场景是:

1.登录自己的测试平台imos,获取token

2.请求头加上token查看任务列表

get_imos_task_list.yml

config:
    name: "login_imos_case"
    variables:
        username: admin
        password: quxue2023
    headers:
        User-Agent: ${get_user_agent()}
    verify: False
    export: [ "foo3" ]

teststeps:
-
    name: "登录测试平台imos"
    request:
        method: POST
        url: /login
        headers:
            Content-Type: application/json
            User-Agent: HttpRunner/${get_user_agent()}
        json:
            username: ${username}
            password: ${password}
    extract:
        token: "body.data.token"
    validate:
        - eq: ["status_code", 200]
-
    name: "查看任务列表"
    request:
        method: GET
        url: /task
        headers:
            Accept: application/json, text/plain, */*
            Authorization: Bearer ${token}
        params:
            page: 1
            size: 10
            search: ""
    validate:
        - eq: ["status_code", 200]
        - eq: ["body.code", 200]
        - eq: ["body.message", "操作成功"]

 

执行测试场景:

加上 --gen-html-report 是生成报告

hrp run .\testcases\get_imos_task_list.yml --gen-html-report

 打开html报告,熟悉的画面回来了:

 可能遇到问题:

全局变量未生效,导致真实请示url没有加上base_url

 

 查看官网,才知道人家早已经把base_url搬到.evn,编辑base_url即可

 总结:

1.httprunner4.x新增了命令工具hrp,主要调用cmd命令来完成一些操作,如创建虚拟环境>创建项目,说白了就是操作的封装。

2.config里的base_url已经搬到.env文件

 

posted @ 2024-03-19 01:51  测栈云  阅读(192)  评论(0编辑  收藏  举报