任何例子都有一个Java类实例可以调用一次并在所有场景中以空手道与不同功能文件一起使用

我一直在使用空手道演示中的DBUtils类,我知道该类与空手道无关。我有一个问题,例如给出的示例,它在每种情况下都在后台调用了DBUtlis类,并且应该在所有功能文件Background:中提及它。

像我们这样配置的任何东西,并在所有情况下都使用该数据库实例变量?如果是,请举例。

在彼得发表以下评论后进行更新:

config: enter image description here

Main Feature File: enter image description here

在另一个功能文件中重用数据库实例

enter image description here

请确认这是否正确?

试弦:

var result = karate.callSingle('classpath:featureFiles/dbBackground.feature', config);

  config.PersonName = result.name;

主要特征:

Feature: DB Background

Background:
    ##* def DbUtils = callonce Java.type('ApiTest.DbUtils');
  ##* def config = { username: "xyz", password: "abc", url: "someurl", driverClassName: "oracle.jdbc.driver.OracleDriver"};
    ##* def db = new DbUtils(config);
    * def name = "Sandeep";

其他功能:

Feature: Get Account Details

Background:

    * def actualname = PersonName;

@golden
Scenario: user 1 details
 * def expectedFormat = read('../requestFiles/format.json')

        Given url 'https://reqres.in/api/users'
        And params ({id: '1'})
        When method Get
        Then match response.data.email == "george.bluth@reqres.in"
        Then print '###################################name is: ', actualname
        Then print '###################################name is: ', PersonName

控制台结果显示为空:

enter image description here