Перейти к содержимому

FinalVerdict

Регистрация: 08 ноя 2007
Offline Активность: 05 окт 2020 09:49
-----

Мои сообщения

В теме: Как передать значения параметра из класса java в переменную Cucumber

04 октября 2020 - 20:22

Вы не правильно думаете. Вы не можете из кода что-то добавлять в фича-файл.

Вы из него только читаете то что там есть.

Я понял, у вас в фиче-файле есть слово стенд, объедините 2 шага "Пусть Стенд находится по адресу" и "Переходим по url: URL"

В один - "Открыть стенд" (а в методе для этого шага берите адрес из конфигурационного файла).

Если же у вас урл может разный быть, то напишите простой метод - отрыть страницу по такому-то адресу.

 

Вот эта муть зачем?   "Сцепить(Стенд;"/чччч.jsps?ProductOfferNo=";productOfferNo)"

Предавайте уже готовый урл, либо пишите общий метод для открытия продукта - открыть_страницу_продукта(String productOfferNo), в котором вы возьмёте productOfferNo и адрес стенда из конфиг-файла, и сформируете полный урл в методе.

Зачем так фиче-файл усложнять?

----------------------------------------------------------

Ещё подумав, понял

Пусть Стенд находится по адресу   - сделайте метод который берёт адрес стенда из конфиг-файла, и сетит глобальную переменную, как я показал.

|  URL | Сцепить(Стенд;"/чччч.jsps?ProductOfferNo=";productOfferNo) |   - у вас где-то реализована эта функция Сцепить? - доработайте её, чтобы она брала в теле уже вместо первого параметра глобальную переменную, если она не пуста, что засетили на предыдущем шаге.

Переходим по url: URL

 

Спасибо, разобрался. Помогло.


В теме: Как передать значения параметра из класса java в переменную Cucumber

04 октября 2020 - 14:24


И вы теперь в коде можете в других методах использовать эту переменную.

 

Вы немного не правильно поняли: ^(.+?) - это дело можно передать в параметр метода берем_адрес_текущего_стенда
Вот так:

@Пусть("^(.+?) находится по адресу$")
Public String берем_адрес_текущего_стенда(String символы_что_мы_нашли_из_верхнего_правила) throws IOException {
  делаем что хотим с данными из символы_что_мы_нашли_из_верхнего_правила
}

Тогда я не понял, как полученное значение hostname  присвоить переменной Стенд, которой я буду далее оперировать уже в фичафайле?
Толку с того что я получил  адрес текущего сервера, если я не могу с ним ничего сделать?

Подскажи пожалуйста, как это должно выглядеть.