junit testng unittest pytest , httprunner robotframework 不需要写脚本

httprunner3

一、3.0架构图

HttpRunner3使用_测试用例

二、设计理念

1、利用开源的项目,不重复造轮子,只是拼装轮子

2、遵循约定大于配置

3、配置文件YAML,JSON组织测试用例

三、httprunner3.0使用

1、直接安装httprunner

pip install httprunner

pip install har2case

2、验证环境

hrun -V

遇到,ImportError: cannot import name ‘soft_unicode‘ from ‘markupsafe‘

pip list,查看Jinja2版本

卸载这个包:pip uninstall Jinja2

https://www.lfd.uci.edu/~gohlke/pythonlibs/#jinja2

找到Jinja2,选择其他版本安装,使用3.0.3正常了,

HttpRunner3使用_json_02

 下载.whl文件之后,执行命令

pip install xxx.whl

har2case -V

HttpRunner3使用_开发语言_03

3、五个命令

httprunner 主命令

hun 用于运行yaml/json/pytest的测试用例      hrun  XXXX.yml

hmake 将yaml /json转化成pytest文件

har2case 用于将har文件转化成yaml/json文件  , har2case getLogin.har -2y

locust 用于性能测试。

从fiddler中导出 har格式的包,

HttpRunner3使用_2d_04

 然后使用, har2case getLogin.har -2y 转换为yaml格式的测试用例,

har2case getLogin.har -2j   转换为json格式的测试用例

har2case getLogin.har   转化为py文件的测试用例

最后使用 hrun  XXXX.yml ,运行这个测试用例,查看结果。

config:
    name: testcase description
    # 全局变量
    variables: {}
teststeps:
-   name: /amdc/mobileDispatch
    request:
        data:
            appName: taobao_android
            appVersion: 10.9.20
            bssid: 02:00:00:00:00:00
            carrier: wifi
            channel: '1568860058617'
            cv: '1'
            domain: hybrid.miniapp.taobao.com mdike.alicdn.com mini-app-packages-cdn.taobao.com
                miniapp-package-zcache.taobao.com miniapp-packages.oss-cn-shanghai.aliyuncs.com
                zres.alicdn.com
            lat: '0.0'
            lng: '0.0'
            mnc: wifi
            netType: WIFI
            platformVersion: '11'
            sign: 6f489cf32be694288fe832dee3c00642d731dea2
            signType: sec
            stackType: '4'
            t: '1647075393922'
        headers:
            Content-Type: application/x-www-form-urlencoded
            User-Agent: Dalvik/2.1.0 (Linux; U; Android 11; M2101K9C Build/RKQ1.201112.002)
        method: POST
        params:
            appkey: '21646297'
            deviceId: YixgL02fSIYDAJRUR3xrQuae
            platform: android
            v: '5.1'
        url: http://amdc.m.taobao.com/amdc/mobileDispatch
    validate:
    -   eq:
        - status_code
        - 200
    -   eq:
        - headers.Content-Type
        - application/json;charset=UTF-8

HttpRunner3使用_开发语言_05

如果存在上下关联的接口,可以将两个接口合到一起生成一个har文件。

extract可以提取上一个接口返回的, context代表返回的对象

extract: content.access_token, 取上一个接口的返回

debugtalk.py 里创建方法,可以在yml文件中 使用${方法名}  进行使用

hrun ../文件名 --html=report.html 生成测试报告

HttpRunner3使用_2d_06