#gwt
#gwt
Вопрос:
Компания, в которой я работаю, переводит свой интерфейс на приложение gwt, и мне было интересно, возможно ли написать скрипт (будь то с помощью bash и wget, или cURL, или java, или чего-либо еще), который позволяет мне загружать фактическое содержимое веб-приложения gwt. Потому что прямо сейчас, если я попытаюсь использовать команду, такую как wget, я просто загружу страницу с некоторыми функциями javascript, но ничего из фактического содержимого страницы (что меня интересует). Я нахожусь на стороне контроля качества, поэтому, полагаю, мне интересно, возможно ли выполнить такую задачу, не имея прямого доступа к коду разработчиков. Спасибо!
Ответ №1:
GWT создает страницу (DOM) на месте с помощью javascript. Итак, вам понадобится что-то, что отображает исходный DOM, запускает javascript, который изменяет / создает элементы, а затем выводит весь DOM. В принципе, вам нужен браузер.
Лучшим вариантом было бы поискать расширение для браузера, которое сохраняет целые страницы.
Ответ №2:
Вот некоторые общие сведения о возможности обхода в приложениях AJAX.
http://code.google.com/web/ajaxcrawling/docs/getting-started.html
Вот код для примера сервлета, который реализует эту спецификацию обхода, загружая страницу в HtmlUnit, вызывая визуализацию всего HTML, а затем отправляя результаты обратно в веб-поисковик.
Комментарии:
1. Спасибо за ответ, я ранее внедрил код HtmlUnit, чтобы попытаться сгенерировать HTML-код из приложения, которое я тестирую, но он не генерирует какой-либо фактический HTML-код основного текста приложения, он просто возвращает раздел head с упоминанием ссылок javascript и css. Мне нужно еще немного разобраться в этом и посмотреть, смогу ли я настроить запрос сервера или что-то в этом роде. Я считаю, что это возможно сделать, потому что с помощью firebug я могу просматривать HTML-код приложения, я просто не разобрался с HtmlUnit.
Ответ №3:
Я нашел решение, используя инструмент под названием selenium. Я могу легко щелкнуть по приложению gwt, записать свою активность в приложении для дальнейшего использования и получить фактический html, сгенерированный приложением, который я затем могу проанализировать для получения желаемого контента и действовать соответствующим образом. Единственным небольшим недостатком является то, что selenium требует использования браузера, в отличие от htmlunit или httpunit.