java-在单个功能中的不同场景之间共享数据

时间:2015-04-03 03:57:59

标签: java spring dependency-injection cucumber feature-file

Cucumber java

我的功能文件看起来像

特征 场景1:....生成唯一编号

场景2:....对生成的唯一号码进行一些验证

使用spring进行依赖注入,@ Scenario1生成的唯一编号被分配给一个String,同样需要在Scenario2中使用。

但是我得到一个String值为null @ Scenario2。我认为依赖注入@ scenario2是一个新对象,并且默认值为null。

请帮我解决此问题。需要知道如何在单个功能中跨不同场景传递java对象..

2 个答案:

答案 0 :(得分:0)

使用Singleton?

1)在第一种情况下生成唯一编号 2)getInstance()在第二个

答案 1 :(得分:0)

使用gherkin with qaf,它提供了在步骤或方案之间共享信息的不同方法。

例如,如果您的步骤返回值,您可以使用:

Then get text of 'element' 
And store into 'applicaiton.refID'

引用您可以使用的任何存储值或任何属性${property}。例如

Given application to update is '${applicaiton.refID}'

您可以在任何后续方案中applicaiton.refID。 如果你想在java步骤中执行此操作,可以编写如下代码:

//store value for further use
getBundle().setProperty("applicaiton.refID","myvalue");

//retrieve applicaiton.refID any where
getBundle().getString("applicaiton.refID");