Правила валидации в веб-тестировании с использованием VS2010 - PullRequest
0 голосов
/ 30 мая 2011

Я создаю простой веб-тест (тест производительности записанной сети), который обеспечивает правильное сообщение об ошибке, если я пытаюсь войти в систему с именем пользователя, которого не существует.

Однако существует два типа сообщений об ошибках, которые обрабатывают неверную информацию для входа. Один предназначен для всех имен пользователей, которые не существуют и, следовательно, не допускаются, а другой - для имен пользователей, которые начинаются с буквы «Q» (что недопустимо по нескольким причинам).

Теперь я хочу использовать правило проверки «Найти текст», и тест должен пройти, если найден ОДИН из параметров «Найти текст», и в этом случае я хочу, чтобы второе правило «Найти текст» было игнорируется, поэтому тест не проходит.

Другими словами, тест всегда должен проходить, если найдено одно из правил «Найти тест».

Как мне этого добиться? Есть ли какое-то утверждение if, else, которое я могу использовать для этого?

Ответы [ 2 ]

2 голосов
/ 23 ноября 2011

Другой способ сделать это - использовать привязку данных.Если у вас есть источник данных, определенный для вашего веб-теста, например таблица ForbiddenUsers, например:

Username            Message
--------            ------- 
Quasimodo           You are not allowed to use this system.
NonExistent         Who are you?

Затем, при условии, что вы используете {{ForbiddenUsers.Username}} из источника данных при входе в систему.В рамках теста вам нужно добавить только одно правило проверки «Найти текст» со свойством «Найти текст» = {{ForbiddenUsers.Message}}

Это сопоставит правильное Сообщение для желаемого типа имен пользователей.

0 голосов
/ 01 июня 2011

Да, вы на правильном пути: в VS 2010 есть условия.

  • В своем тесте щелкните правой кнопкой мыши и выберите Добавить условие .
  • Выберитеправило Сравнение строк , установите Использовать регулярное выражение на true , установите Значение на ^ Q. *? $ и установите Имя параметра контекста в качестве параметра контекста, содержащего значение имени пользователя.
  • Это будет соответствовать именам пользователей, начинающимся с Q.
  • Добавьте запрос на вход в условный файл,и добавьте соответствующее правило Find Text (которое находит сообщение об ошибке Q-username) к запросу.

К сожалению, нет понятия else Таким образом, вам нужно будет сделать копию узла Conditional, а в копии изменить оператор сравнения на Not Equals , а затем изменить скопированный Find Text правило для соответствия обычному несуществующему сообщению об ошибке имени пользователя.

Получившийся тест должен выглядеть так:что-то вроде:

-If ( {{username}} equals "^Q.*?$" )
 -http://login request here
  -Validation Rules
   -Find Text                                  <--- match Q-username error message
-If ( {{username}} does not equals "^Q.*?$" )
 -http://login request here
  -Validation Rules
   -Find Text                            <--- match non-existing username error message
...