java-Обмен данными между различными сценариями в одной функции

Огурец ява

Мой файл функций выглядит так

Feature Scenario1:.... Создание уникального номера

Сценарий 2:.... Выполните некоторые проверки сгенерированного уникального номера.

Используя Spring для внедрения зависимостей, уникальный номер, сгенерированный @ Scenario1, назначается String, то же самое необходимо использовать и в Scenario2.

Но я получаю значение String как null @Scenario2. Я думаю, что внедрение зависимостей @ script2 создает новый объект и получает значение по умолчанию как нулевое.

Пожалуйста, помогите мне решить эту проблему. Нужно знать, как объекты Java могут передаваться по разным сценариям в одной функции.


person Guru    schedule 03.04.2015    source источник
comment
Сценарии должны быть свободными от состояния, может быть, вам стоит подумать о том, чтобы объединить обе вещи в один сценарий?   -  person Dude    schedule 14.04.2015


Ответы (2)


Использовать синглтон?

1) Генерировать уникальный номер в 1-м сценарии 2) getInstance() во 2-м

person vitalikrst    schedule 03.04.2015
comment
По умолчанию все внедренные bean-компоненты будут одноэлементными. Это? Кроме того, экземпляры можно использовать в сценариях, когда мы делаем их статическими. Я не уверен, выполняет ли огуречный DI что-то еще - person Guru; 03.04.2015

Используйте огурец вместе с 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");
person user861594    schedule 15.04.2018