использование Selenium: как использовать результаты одного теста в качестве входных данных для другого теста - PullRequest
3 голосов
/ 18 июня 2010

Я Selenium n00b ... ясно, как легко выполнить тест и проверить конкретный ответ, но как я могу взять значение из одного ответа и использовать его в следующемtest?

примером может быть форма создания контакта ...

  1. введите имя / адрес электронной почты и нажмите кнопку отправить
  2. приходит ответ с новым ContactID
  3. возьмите ContactID, который был возвращен, поместите его в текстовое поле «get» и нажмите «submit»
  4. приходит ответ с контактными данными
  5. verfy имя / адрес электронной почты соответствуют первому набору

как мне поступить в Selenium?

Ответы [ 2 ]

5 голосов
/ 19 июля 2010

А теперь что-то совершенно другое:

Теперь я понимаю, что когда вы говорите «тест», вы имеете в виду одно утверждение в одном тестовом примере. Поэтому вы хотите использовать значение, возвращаемое из запроса, в качестве входных данных для другого запроса в том же тестовом примере.

Предполагается, что вы используете selenium ide: для этого используйте одну из команд "store ..." в selenium ide и сохраните значение в переменной. ContactID можно найти с помощью соответствующего селектора с командой storeText. Например:

command: storeText
target: selector for element containing contactId
value: contactId

Затем используйте подстановку переменных и команду типа, чтобы вставить этот текст в другое место.

command: type
target: selector for target input box
value: ${contactId}

Надеюсь, это поможет:)

3 голосов
/ 19 июня 2010

(Этот ответ все еще правильный, я думаю, если вы интерпретируете «тест» как «контрольный пример». Другой, совершенно другой ответ см. Ниже.)

Вы не делаете этого.Каждый тест должен быть независимым от всех других тестов.Для второго теста просто повторите шаги первого теста.Таким образом, вы можете надежно воспроизводить успешные и неудачные тесты.

Если у вас много тестов, все из которых начинаются с определенного состояния приложения, для которого требуется выполнить много шагов, просто напишите частный вспомогательный метод для достижения этогоstate.

Альтернатива: все описанные вами шаги можно поместить в один тест.Нет причин не использовать несколько утверждений в одном тесте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...