httprunner(8)用例调用-RunTestCase[通俗易懂]

httprunner(8)用例调用-RunTestCase[通俗易懂]前言一般我们写接口自动化的时候,遇到复杂的逻辑,都会调用API方法来满足前置条件,Pytest的特性是无法用例之间相互调动的,我们一般只调用自己封装的API方法。而httprunner支持用例之间

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

一般我们写接口自动化的时候,遇到复杂的逻辑,都会调用API方法来满足前置条件,Pytest的特性是无法用例之间相互调动的,我们一般只调用自己封装的API方法。
而httprunner支持用例之间的调用,通过RunTestCase对其他测试用例进行调用,并且还可以导出用例中你所需要的变量,来满足后续用例的的运行。
 

RunTestCase

RunTestCase 在一个步骤中用于引用另一个测试用例调用。

 teststeps = [
        Step(
            RunTestCase("request with functions")
            .with_variables(
                **{"foo1": "testcase_ref_bar1", "expect_foo1": "testcase_ref_bar1"}
            )
            .call(RequestWithFunctions)
            .export(*["foo3"])
        ),
        Step(
            RunRequest("post form data")
            .with_variables(**{"foo1": "bar1"})
            .post("/post")
            .with_headers(
                **{
                    "User-Agent": "HttpRunner/${get_httprunner_version()}",
                    "Content-Type": "application/x-www-form-urlencoded",
                }
            )
            .with_data("foo1=$foo1&foo2=$foo3")
            .validate()
            .assert_equal("status_code", 200)
            .assert_equal("body.form.foo1", "bar1")
            .assert_equal("body.form.foo2", "bar21")
        ),
    ]

 

RunTestCase(name)

用于指定测试步骤名称,该名称将显示在执行日志和测试报告中。

RunTestCase("request with functions")

 

.with_variables

与RunRequest里的用法相同
 

.call

指定你要引用的testcase类名称

.call(RequestWithFunctions)

调用RequestWithFunctions类
 

.export

指定要导出的变量(可以指定多个),后续的测试步骤可以引用导出的变量

.export(*["foo3", "foo4"])
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164975.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网关gateway详解_gateway路由

    网关gateway详解_gateway路由见:https://baike.baidu.com/item/%E7%BD%91%E5%85%B3/98992?fr=aladdin及其它。网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。使用在不同的通…

    2022年10月11日
    2
  • Python简介 「建议收藏」

    Python简介 「建议收藏」1,Python是一种计算机程序设计语言,Python是用来编写应用程序的高级编程语言。完成同一个任务,Python的代码量很少,但是代码少的代价是运行速度慢。2,问题:是不是越低级的程序越难学,

    2022年7月3日
    25
  • jsp调用getParameterValues获取表单信息

    jsp调用getParameterValues获取表单信息1.新建一个DynamicWebProject项目,里面新建两个jsp文件,整体的结构如下所示:2.one.jsp文件里面的代码如下所示:<%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>example 选择你去过的城市:

    2022年7月22日
    13
  • 【FPGA——基础篇】同步FIFO与异步FIFO——Verilog实现「建议收藏」

    FIFO是英文FirstInFirstOut的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。作用:FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端是AD数据采集,另一端是计算…

    2022年4月13日
    131
  • 清除浏览器缓存(js、css等)

    清除浏览器缓存(js、css等)有时候写web项目,改了js或者css文件,但是浏览器就是不刷新,就很头疼o(╥﹏╥)o。那是因为浏览器还有缓存存在的原因,下面来看如何清除缓存。1.找到目标网页,鼠标右击,点击检查;或者Ctrl+Shift+i;进入检查界面(我用的是谷歌浏览器)。2.点击Network,然后选择要清除什么文件(js、css等等)的缓存,当然也可以选择All,这样就全部加载出来了3.如果没有东西出来,就刷新一次网页,然后找到你的目标文件,右击,选择Clearbrowsercashe清..

    2022年7月18日
    20
  • 《linux 内核全然剖析》 chapter 2 微型计算机组成结构

    《linux 内核全然剖析》 chapter 2 微型计算机组成结构

    2021年11月16日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号