如何访问背景部分中定义的变量以设置空手道功能中的场景

问题描述 投票:0回答:1

功能:API测试功能

  Background:
    * configure logPrettyRequest = true
    * configure logPrettyResponse = true
    * def data = call read('classpath:Features/GetData.feature')
    * print data // prints the data as expected.

  @setup
  Scenario: get Data from 
   
    * print "data ==>  ",data

    Getting Below error when printing data variable in setup scenario.

    org.graalvm.polyglot.PolyglotException: ReferenceError: "data" is not defined

空手道支持此功能吗?

karate
1个回答
0
投票

@setup
不能使用
Background
,它旨在“从头开始”创建数据,仅此而已。当然,您仍然可以使用全局配置中的变量。将
@setup
视为为动态
Scenario Outline
创建数据的唯一方法。然后每行像平常一样使用
Background

如果您担心“重复使用”,我的建议是不要

如果你真的想要 - 你可以创建一个可重用的功能,并从

Background
@setup
中使用它,但我真的不建议这样做。我的建议是尝试将您的测试设计得更简单、更好。

© www.soinside.com 2019 - 2024. All rights reserved.