Следующий шаг — привязывание тестов к данным. Обычно привязка производится к параметрам строки запроса и значениям передачи форм. Давайте сначала рассмотрим привязку к параметрам передачи форм. Предположим, что вы хотите выполнить поиск для каждого элемента в csv-файле. Вы можете сделать это посредством привязки текстового поля поиска (страницы поиска клиента) к столбцу данных в csv-файле. Пример показан на рис. 28.16.
В этой конфигурации форма будет передавать значение из csv-файла так, как будто пользователь ввел его в текстовое поле. Для нашего теста мы хотим также имитировать выбор пользователем первого возвращенного элемента в сетке. Это можно сделать при помощи перехода к параметрам передачи формы страницы FindCustomer.aspx. Пример приведен на
рис. 28.17. Здесь вы видите, что EVENTARGUMENT=Edi t11em$0. Текст Editltem— это текст команды для кнопки просмотра сетки. Число указывает выбранный пользователем элемент. Для выбора первого элемента мы установили его в ноль. Если не будет возвращено ни одного элемента, то тест приведет к ошибке.
Мы также настроили для страницы CustomerEdit2.aspx привязку custid строки запроса в пустое значение. Это позволяет выбранному элементу быть переданным на страницу. Вы можете это видеть на рис. 28.17.
Перед тем как выполнить тест, вы должны сообщить инструменту о том, что необходимо выполнить Web-тест для каждой строки базы данных. Вы можете также указать фиксированное число повторений для вашего Web-теста. Это значение изменяется в testrunconfig- файле. Пример показан на рис. 28.18. Здесь выбрана опция One run per data source row.
Рис. 28.18. Настройка теста на выполнение по одному разу для каждой строки данных
Когда вы выполните тест, то он будет выполнен для каждой буквы алфавита, хранящейся в csv-файле (26 раз). Вы можете это увидеть на рис. 28.19. Обратите внимание, что результаты даны для двадцать шестого прогона (для буквы z). Обратите также внимание и на сообщения об ошибках. Вы можете использовать кнопки поиска Next и Previous Error (красный кружок с белым крестиком) в панели инструментов для быстрого перемещения между ошибками. В нашем случае ошибки были сгенерированы тогда, когда мы дали тесту указание выделить первый элемент в сетке, а поиск не вернул ни одной строки.