• httprunner3.x详细教程一(框架结构介绍及搭建)


    学习建议:在学习httprunner3.x版本之前,最好是学习过python,pytest,allure,locust,requests,git操作,这样可以更快的入手,有问题请留言,或者加群反馈。

                                                                                                                                                                                --成都-阿木木

        **欢迎加入测试交流群:自动化测试-夜行者(816489363)进行交流学习QAQ**

    1、环境准备

    安装httprunner

    pip install httprunner -i https://pypi.douban.com/simple

    使用hrun -V 查看httprunner版本,我的是3.1.4

    查看帮助信息:httprunner --help

    positional arguments:

    {run,startproject,har2case,make}

    sub-command help

    run Make HttpRunner testcases and run with pytest.运行httprunner文件

    startproject Create a new project with template structure.创建httprunner项目结构

    har2case Convert HAR(HTTP Archive) to YAML/JSON testcases for HttpRunner.转换har文件为yml文件或者json文件或者pytest文件

    make Convert YAML/JSON testcases to pytest cases. 转换yml或json文件为pytest文件

    optional arguments:

    -h, --help show this help message and exit 查看帮助信息

    -V, --version show version 查看版本

    2、创建项目

    cmd到项目文件下执行:httprunner startproject interfacedemo(interfacedemo是你的接口项目名称)

    使用pycharm打开interfaceDemo:

    各个目录代表的含义:

    • debugtalk.py 放置在项目根目录下(借鉴了pytest的conftest文件的设计)
    • .env 放置在项目根目录下,可以用于存放一些环境变量
    • reports 文件夹:存储 HTML 测试报告
    • testcases 用于存放测试用例
    • har 可以存放录制导出的.har文件
    • .gitignore 设置上传到git时需要忽略那些文件信息

    运行官方提供的小例子:

    在testcases下,有两个yml文件,在项目interfaceDemo的上级目录执行:

    两种执行方式:

    1、hrun interfaceDemo:命令等价于httprunner run interfaceDemo,其中先进行httprunner make json/yml,会将json/yml文件先转换为pytest文件,之后再执行hrun(httprunner run),如果pytest文件是已经存在的(你直接编写的pytest文件,而不是yml或者json),httprunner会直接运行你的pytest脚本,不需要进行转换,官方推荐:直接使用pytest脚本编写

    在tacecases目录下生成了三个py文件,生成的py文件会加上_test后缀,如果yml或者json文件有修改,需要再次http make scriptPath一下,或者直接修改py文件

    生成了logs日志文件,每一个yml都会对应生成一个日志文件如下,每一个testcase脚本都会又要给唯一的id,对应了日志文件的文件名:

    2、pytest interfaceDemo(前提,已经使用hrun interfaceDemo生成了yml或json对应的pytest文件,否则不生效)

    **欢迎加入测试交流群:自动化测试-夜行者(816489363)进行交流学习QAQ**

  • 相关阅读:
    java 笔记 Thread.currentThread().getContextClassLoader() 和 Class.getClassLoader()区别
    JAVA 笔记 ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别
    配置mabatis,报Could not load driverClass ${jdbc.driverClassName}
    maven-配置文件配置src/resource下的文件
    eclipse中tomcat 中server location灰色,如何修改?
    解决maven项目update project会更改jdk版本问题
    maven创建web工程Spring配置文件找不到问题解决方案
    maven:pom.xml中没有dependency标签错误
    [转载]如何让上传到新浪博客和相册中的照片更大更清晰
    [转载]如何让上传到新浪博客和相册中的照片更大更清晰
  • 原文地址:https://www.cnblogs.com/chineseluo/p/13703936.html
Copyright © 2020-2023  润新知