2016-02-11 3 views
2

В нашем файле функций огурца мы используем схему сценария, и перед выполнением сценария для заполнения данных во время выполнения у нас есть требование.Огурцы: схема сценария - доступ к таблице данных во время выполнения

Основываясь на маршруте города, передаваемом в файле данных, мы создаем PNR с использованием API, который возвращает мне фактический PNR. Созданное значение PNR необходимо сохранить в таблице данных сценария.

Если у нас есть сценарий, мы можем использовать функцию DataTable для доступа к значениям внутри функции. У нас есть какой-либо класс для взаимодействия с таблицей данных плана сценария

например.

Scenario Outline: 
    Given user have opened the application 
    And verifies if lookup page is loaded successfully 
    Then enter <ConfirmationNumber> as confirmation number 
    Then enter <LastName> as last name 

Examples: 
    |DepartureCity|ArrivalCity|PNR|PassengerName| 
    |BAH   |AUH  | |BRUCE WAYNe | 

Если вы заметили, я не передавая значение PNR в файле функций, основанный на маршруте передается, PNR создается во время выполнения полета с доступной в то время.

Поэтому для меня необходимо заполнить поле PNR создаваемым значением. Не только стоимость, время полета также необходимо заселить.

Пожалуйста, дайте мне знать, если существующий класс или альтернатива для решения этой проблемы.

+0

Если вы не можете знать, чего ожидать до начала теста, вы не разработали тест должным образом. Почему вы не знаете, что такое PNR? Возможно, потому, что вы не контролируете данные, которые используются для создания PNR. Чтобы правильно спроектировать тест, вам нужно управлять входными значениями, будь то путем ввода данных ORM, чтобы контролировать, что такое PNR, или издеваться над сервером, который предоставляет PNR, или что-то в этом направлении. –

+0

@Dave McNulla: Проблема в том, что для всего моего тестового примера вход PNR, поэтому мне нужно создать PNR во время выполнения следующего рейса, доступного для пройденного маршрута. Это то, что я не могу контролировать. Если я попытаюсь вручную ввести PNR для каждого тестового примера, он не будет содержать никакой хорошей автоматизации теста. – Ramkumar

+0

Если вы попытаетесь проверить что-то, что вы не можете контролировать, то вы не сможете контролировать результат. –

ответ

1

Ответ просто дизайн - это сделать одно из двух способов

  1. Убедитесь, у вас есть опыт, порождающий номер PNR, передать его на к следующим шагам через переменную, поместите имя переменной под PNR Number и используйте его как eval (переменная) на вашем шаге.
  2. Вставьте шаг, чтобы сгенерировать его - то есть вы не принимаете никаких аргументов здесь, переходите к следующим необходимым шагам. выполняйте то же самое, что и выше - eval имя переменной.
Смежные вопросы