BDD Измените ожидаемое значение в зависимости от профиля

Мой функциональный файл Behat

Scenario: verify docs
Given I'm on "/docs"Then I should see "link1" link with href of "https://server1.xyz.com/link1"Then I should see "link2" link with href of "https://server1.xyz.com/link2"Then I should see "link3" link with href of "https://server1.xyz.com/link3"Then I should see "link4" link with href of "https://server1.xyz.com/link4"Then I should see "link5" link with href of "https://server1.xyz.com/link5"

Ожидаемое значение для ссылок изменяется в зависимости от профиля. Скажем, если я запускаю с использованием профиля server1, то ссылка, которую я ожидаю для link1, будет «»https://server1.xyz.com/link1«и если я хочу запустить с использованием профиля server2, то ссылка для link5, которую я ожидаю, будет» «https://server2.xyz.com/link5».

Так можно ли использовать файл параметров, чтобы сказать
например

profile: server1
linkvar1: "https://server1.xyz.com/link1"linkvar2: "https://server1.xyz.com/link2"
profile: server2
linkvar1: "https://server2.xyz.com/link1"linkvar2: "https://server2.xyz.com/link2"

и в моем файле функций

Given I'm on "/docs"Then I should see "link1" link with href of "%linkvar1%"Then I should see "link2" link with href of "%linkvar2%"

Или еще предложите, как я могу достичь лучшего способа.

0

Решение

У вас есть несколько вариантов здесь:

1) Проверить ссылку только по странице (без базового URL)
Вы можете сделать шаг, как:

I should see link that contains "link1"

На этом шаге вы получаете атрибут href и проверяете параметр.

2) Получить селектор для каждой ссылки и проверить, что вам нужно (элемент существует / виден). Вы можете использовать такие шаги, как:

I should see an "css_selector" element
the "css_selector" element should not be visible

Конечно, селекторы должны основываться на href, что-то вроде:

[href*='link1']
[href$='link1']
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]