Добро пожаловать на SO.
Я бы предложил иметь функцию-обертку, которая будет выполнять запрос к базе данных и записывать информацию, а затем генерировать второй файл функции для Checking purchase flow of specific product
, чтобы вы могли добавить product_ids 'из таблицы примеров. Вот черновик.
Feature: Generate the feature file for 'Checking purchase flow of specific product' scenario validation.
Scenario: Run the DB query and generate the feature file
Given User open connection to DB
When User run <query> and store the product ids
And User generate the feature file for scenario validation in <path> location
Then Feature file should be created in <path> location
Examples:
| query | path |
| query goes here | feature file path goes here |
Определения шагов должны подключиться к базе данных, выполнить запрос, сохранить выходные данные запроса в глобальной переменной, а затем записать файл с шагами функций, которые вы указали в исходном сообщении. Тогда единственной дополнительной вещью, которую вы должны будете выполнить как часть записи в файл, является перебор всех продуктов в запросе и добавление их затем в файл возможностей.
Таким образом, вам не нужно беспокоиться об изменениях в product_ids ', каждый раз, когда вы запускаете свой пакет, файл компонента будет генерироваться с product_ids динамически.
Дайте мне знать, если вам нужна помощь в деталях реализации step def.
И ответ на свой оригинальный вопрос: да, вы можете использовать product_id, хотя это еще не конец. Ваш шаг был верным, но я бы предпочел просто передать product_id шагу и обработать переход к URL в самом определении шага. Нечто вроде ниже.
When User loaded <product_id> product