Недавно я стал руководителем по получению чрезмерного количества тестов за очень короткий период времени. У нас есть много различных веб-форм, использующих пользовательские (Telerik) элементы управления, которые необходимо протестировать для правильной проверки данных и разумной обработки данных. Некоторые формы имеют длину в несколько страниц с 30-80 различными элементами управления для ввода данных. Я ищу программное решение (которое бесплатно), которое позволило бы мне автоматизировать процесс заполнения этих форм путем разработки сценария или использования пользовательского интерфейса. Другое требование - я не могу использовать браузеры, кроме IE6 (я знаю, ужасно).
Ранее я с большим успехом использовал AutoHotkey для автоматического тестирования форм Windows, поскольку API Autohotkey позволяет напрямую ссылаться на элементы управления в форме Windows. Однако Autohotkey не имеет аналогичной поддержки веб-форм (это всего лишь один большой элемент управления «InternetExplorer»).
Хотя я бы предпочел, чтобы я мог записать некоторую разницу в данных, чтобы помочь сериализовать каждый тест, в этом нет необходимости, поскольку я мог бы вернуться назад и вручную отредактировать поле или два (плюс "сломать" любой элемент управления, в котором я сейчас нахожусь тестирование) для сериализации каждого теста.
Если вы когда-либо видели Спавнера:
http://forge.mysql.com/projects/project.php?id=214
Это почти как раз то, что я ищу (Spawner генерирует фиктивные данные SQL, а не фиктивные данные веб-формы) - но я не буду придирчивым, у меня очень короткий срок, и мне нужно было этот удар в мои колени только сегодня. ;)
Edit1: Одна из проблем простого использования Autohotkey для имитации ввода с клавиатуры (вкладка через элементы управления) заключается в том, что некоторые элементы управления в настоящее время не имеют индекса вкладки (ошибка), а некоторые элементы управления вызывают перезагрузку страницы после модификации, что приводит к несогласованности контроль фокуса (вкладка облажалась). Наше приложение интенсивно использует перезагрузки страниц для заполнения полей (например, выберите место, оно автоматически заполняет город).