В нашем файле функций огурца мы используем схему сценария, и перед выполнением сценария для заполнения данных во время выполнения у нас есть требование.Огурцы: схема сценария - доступ к таблице данных во время выполнения
Основываясь на маршруте города, передаваемом в файле данных, мы создаем 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 создаваемым значением. Не только стоимость, время полета также необходимо заселить.
Пожалуйста, дайте мне знать, если существующий класс или альтернатива для решения этой проблемы.
Если вы не можете знать, чего ожидать до начала теста, вы не разработали тест должным образом. Почему вы не знаете, что такое PNR? Возможно, потому, что вы не контролируете данные, которые используются для создания PNR. Чтобы правильно спроектировать тест, вам нужно управлять входными значениями, будь то путем ввода данных ORM, чтобы контролировать, что такое PNR, или издеваться над сервером, который предоставляет PNR, или что-то в этом направлении. –
@Dave McNulla: Проблема в том, что для всего моего тестового примера вход PNR, поэтому мне нужно создать PNR во время выполнения следующего рейса, доступного для пройденного маршрута. Это то, что я не могу контролировать. Если я попытаюсь вручную ввести PNR для каждого тестового примера, он не будет содержать никакой хорошей автоматизации теста. – Ramkumar
Если вы попытаетесь проверить что-то, что вы не можете контролировать, то вы не сможете контролировать результат. –