В конкретном случае, который вы нам здесь даете, я бы написал шаги более подробно, чтобы избежать «этого». Поэтому я бы написал «Тогда должен быть создан подарочный сертификат» и т. Д. Я предпочитаю избегать зависимости шагов от состояния, передаваемого через context
.
Однако...
Бывают случаи, когда сделать это будет проблематично. В вашем случае, возможно, политика работы с вашим бизнес-пользователем делает так, что просить больше подробностей не очень хорошо. Или могут быть технические причины, которые делают то, что я предложил выше, нежелательным или совершенно неработоспособным.
Если вы не можете использовать более подробные шаги, вы можете сделать так, чтобы шаг Then it should be created
зависел от поля context
, для которого установлено значение, которое предоставит шагу достаточно информации для выполнения его работы. Это может быть что-то вроде context.created_object
. Шаг, на котором создается объект, установит в этом поле соответствующее значение, чтобы Then it should be created
мог выполнять свою работу. Что именно вы будете там хранить, зависит от специфики вашего приложения.
Для одного моего приложения, где я проверяю внешний вид контекстного меню на основе щелчков мышью в окне браузера, иногда я записываю ссылку на элемент DOM, на котором пользователь щелкнул правой кнопкой мыши, что вызвало меню . Иногда это объект, предоставляющий координаты x, y. Это то, что нужно моему приложению для выполнения проверок. В этом случае предпочтительнее передавать информацию через context
, потому что Selenium снова и снова запрашивает DOM на более поздних этапах, что может быть очень дорого по сети. После десятков тестов он может легко добавить минуты к запуску набора тестов, а затем учесть, что набор должен выполняться для нескольких комбинаций браузера, ОС и версии браузера.
person
Louis
schedule
15.07.2015