public class PtlSampleTest extends PtlTestBase {
private static final DomSelector GOTOTOP_DOM_ELEMENT = new DomSelector(SelectorType.CLASS_NAME, "gototop");
private static final String EXPAND_FRAME_HEIGHT_SCRIPT = "var iframes = document.getElementsByTagName('iframe');"
+ "Array.prototype.slice.call(iframes).forEach(function(iframe) {"
+ "var frameDocument = iframe.contentWindow.document;"
+ "var scrollHeight = frameDocument.documentElement.scrollHeight;"
+ "iframe.setAttribute('data-pita-originalheight', iframe.style.height);"
+ "var borderWidth = Number($(iframe).css('border-width').replace('px', ''));"
+ "iframe.style.height = (scrollHeight + borderWidth * 2) + 'px';});";
private static final String RESET_FRAME_HEIGHT_SCRIPT = "var iframes = document.getElementsByTagName('iframe');"
+ "Array.prototype.slice.call(iframes).forEach(function(iframe) {"
+ "var frameDocument = iframe.contentWindow.document;"
+ "var height = iframe.getAttribute('data-pita-originalheight');" + "if (height == null) { return; }"
+ "iframe.style.height = height;" + "iframe.removeAttribute('data-pita-originalheight');});";
@Test
public void testFramePage() throws Exception {
driver.get("frame-page");
driver.executeScript(EXPAND_FRAME_HEIGHT_SCRIPT);
assertionView.assertView("expanded");
driver.executeScript(RESET_FRAME_HEIGHT_SCRIPT);
assertionView.assertView("reset");
}
}