Наскоро актуализирах от HTMLUnit 2.4 на 2.5 (бихме избрали най-новата версия, но има много код за рефакторинг поради остарелите API). Сега имам проблем с някакъв JavaScript, който отваря прозорец.
Страницата, която се тества, е „Моля, изчакайте, докато се зарежда екран“ за отчети. Страницата отваря нов прозорец, след което пренасочва обратно към страницата, която първоначално е стартирала отпечатването.
Така че JavaScript изглежда нещо като:
window.open(url,'report_window');
document.location.href = original_url;
С HtmlUnit 2.4 скриптът щеше да продължи да се изпълнява и ако хванах оригиналния обект Window, той щеше да извърши пренасочването. Въпреки това, след надграждане до HtmlUnit 2.5, оригиналният прозорец все още е на страницата „Моля, изчакайте“ - пренасочването никога не се изпълнява. Изглежда, че JavaScript е спрял да се изпълнява след извикването на window.open.
Потвърдих, че страницата се държи правилно, ако тествам ръчно. Също така опитах различен JavaScript след извикването window.open, за да потвърдя, че това конкретно извикване не е проблемът.
Някой запознат ли е с проблем като този и евентуални заобиколни решения? Трябва да останем на HtmlUnit 2.5 поради съвместимост с jQuery.