Повторное использование переменных из файла объектов (javascript, wdio, cucumber) - PullRequest
0 голосов
/ 18 мая 2018

У меня есть тестовая установка, написанная на javascript с использованием cucumber и webdriverio.

Я определяю свой тестовый сценарий в моих файлах объектов: example1.feature и example2.feature

Mx файл example1.feature выглядит следующим образом:

Feature: Submit search term
  As a user who is logged in
  I want to submit a search term
  Because I want to see the search results

Background:
  I am logged in
  And I am on the search view

Scenario outline:
  When I enter and submit the search term <someString>
  Then I can see the results of <someString>

Examples:
  |someString|
  |bananas|

Это отлично работает, мои переменные выбираются example1.page.js и example1.steps.js

ТеперьЯ хочу использовать этот набросок сценария из example1.feature (включая переменную someString) в моем example2.feature (а также для example3.feature, example4.feature, ...)

Мой example2.feature выглядит такthis:

Feature: Navigate to details page 
  As a user who is logged in
  I want to submit a search term
  Because I want to see the details of my search term

Background:
  I am logged in
  And I am on the search view

Scenario outline:
  When I enter and submit the search term <someString>
  Then I can see the results of <someString>
  When I click on the details
  Then I get redirected to the details page

Examples:
  |someString|
  |bananas|

Я пытаюсь повторно использовать части из example1.page.js, но это нарушает мой тест.Ни example1 больше не работает, ни example2.Когда я удаляю example2, example1 работает.Я попытался удалить и переименовать (someString и бананы);это не работает.

Два способа, которые я нашел для решения этой проблемы, - это скопировать целые части из example1 в example2 (включая локаторы и части из page.js) или включить example2 в example1 (чтобы увеличить example1).

Однако, поскольку я хочу повторно использовать эту часть кода также в example3 и example4 и т. Д., Я не очень доволен копированием всего и созданием одного гигантского тестового примера ...

Кто-нибудь может придумать решение, чтобы решить эту проблему лучше?

1 Ответ

0 голосов
/ 19 мая 2018

Файлы объектов не отформатированы правильно, что может решить проблему.В первом шаге фона отсутствовал Given (преобразование его в описание фона), а outline должен быть в верхнем регистре: Scenario Outline:

Надеемся, что это исправит ваши проблемы:

example1.feature:

Feature: Submit search term
  As a user who is logged in
  I want to submit a search term
  Because I want to see the search results

Background:
  Given I am logged in
  And I am on the search view

Scenario Outline:
  When I enter and submit the search term <someString>
  Then I can see the results of <someString>

Examples:
  |someString|
  |bananas   |

example2.feature

Feature: Navigate to details page 
  As a user who is logged in
  I want to submit a search term
  Because I want to see the details of my search term

Background:
  Given I am logged in
  And I am on the search view

Scenario Outline:
  When I enter and submit the search term <someString>
  Then I can see the results of <someString>
  When I click on the details
  Then I get redirected to the details page

Examples:
  |someString|
  |bananas   |
...