Crawling of Rich Internet Applications и проект «Роботестер»

В докладе я расскажу о создании полностью автономных инструментов для тестирования веб-интерфейсов. Чтобы такой инструмент (робот) мог осуществить тестирование, он должен «обойти» весь сайт, то есть побывать на всех его страницах (или хотя бы побывать во всех состояниях одной страницы). Поэтому наши проблемы очень близки проблемам, возникающим при создании поисковых роботов. Значительная разница заключается в том, что поисковый краулер переходит со страницы на страницу по ссылкам, а для задач тестирования нам необходимо взаимодействовать с элементами страницы: заполнять формы, вызывать ajax-действия и так далее.

К тому же современные сайты (RIA) имеют фактически бесконечное число состояний, поэтому надо применять новые подходы как при построении стратегии обхода, так и при оценке действий робота (трудно оценить, какую часть сайта мы обошли). Я расскажу о наших успехах в создании такого инструмента под кодовым названием «Роботестер».