Могу ли я получить доступ к хранилищам HTML5 с помощью HTMLUnit
У меня есть требование, где мне нужно определить, хранится ли какая-либо страница или читает из хранилищ данных HTML5. Я использую HTMLUnit для просмотра веб-страниц. В листинге sourceforge я проверил, что встроена поддержка хранилищ HTML5. HTMLUnit фактически создает объекты для localStorage, sessionStorage и т. Д.? Если да, как я могу получить к ним доступ?
Я также думал о том, чтобы очистить все Javascripts на странице и найти ключевые слова, но есть ли лучший способ, чем это?
1 ответ
Решение
Простой тест может состоять в том, чтобы передать исходный код javascript, который хранит setItem ('key', 'value'), а затем выполняет getItem ('key') и проверяет результат. Если какой-либо объект скрипта возвращается, это означает успех. что-то вроде следующего:
ScriptResult result = currentPage.executeJavaScript("window.localStorage.setItem('some_key','some_value');window.localStorage.getItem('some_key');");
System.out.println("script result: "+result.getJavaScriptResult().toString());