def test_frame_element(session): # Create a reference element which looks exactly like the frame's content session.url = inline("{0}{1}".format(REFERENCE_STYLE, REFERENCE_CONTENT)) # Capture the inner content as reference image ref_el = session.find.css("#content", all=False) ref_screenshot = ref_el.screenshot() ref_dimensions = element_dimensions(session, ref_el) assert png_dimensions(ref_screenshot) == ref_dimensions # Capture the frame's element iframe_content = "{0}{1}".format(INNER_IFRAME_STYLE, DEFAULT_CONTENT) session.url = inline("""{0}{1}""".format(OUTER_IFRAME_STYLE, iframe(iframe_content))) frame = session.find.css("iframe", all=False) session.switch_frame(frame) div = session.find.css("div", all=False) div_dimensions = element_dimensions(session, div) assert div_dimensions == ref_dimensions response = take_element_screenshot(session, div.id) div_screenshot = assert_success(response) assert png_dimensions(div_screenshot) == ref_dimensions assert div_screenshot == ref_screenshot
def test_source_origin(session, inline, iframe, domain): session.url = inline("{0}{1}".format(REFERENCE_STYLE, REFERENCE_CONTENT)) response = take_screenshot(session) reference_screenshot = assert_success(response) assert png_dimensions(reference_screenshot) == viewport_dimensions(session) iframe_content = "{0}{1}".format(INNER_IFRAME_STYLE, DEFAULT_CONTENT) session.url = inline("""{0}{1}""".format( OUTER_IFRAME_STYLE, iframe(iframe_content, domain=domain))) response = take_screenshot(session) screenshot = assert_success(response) assert png_dimensions(screenshot) == viewport_dimensions(session) assert screenshot == reference_screenshot
def test_always_captures_top_browsing_context(session): iframe_content = "{0}{1}".format(INNER_IFRAME_STYLE, DEFAULT_CONTENT) session.url = inline("""{0}{1}""".format(OUTER_IFRAME_STYLE, iframe(iframe_content))) response = take_screenshot(session) reference_screenshot = assert_success(response) assert png_dimensions(reference_screenshot) == viewport_dimensions(session) frame = session.find.css("iframe", all=False) session.switch_frame(frame) response = take_screenshot(session) screenshot = assert_success(response) assert png_dimensions(screenshot) == png_dimensions(reference_screenshot) assert screenshot == reference_screenshot
def test_xhtml_document(session): session.url = inline('<input type="text" />', doctype="xhtml") response = take_full_screenshot(session) value = assert_success(response) assert_png(value) assert png_dimensions(value) == document_dimensions(session)
def test_html_document(session): session.url = inline("<input>") response = take_full_screenshot(session) value = assert_success(response) assert_png(value) assert png_dimensions(value) == document_dimensions(session)
def test_format_and_dimensions(session): session.url = inline("<input>") response = take_screenshot(session) value = assert_success(response) assert_png(value) assert png_dimensions(value) == document_dimensions(session)
def test_format_and_dimensions(session, inline): session.url = inline("<input>") response = take_screenshot(session) value = assert_success(response) assert_png(value) assert png_dimensions(value) == viewport_dimensions(session)
def test_no_browsing_context(session, closed_frame, inline): session.url = inline("<input>") response = take_screenshot(session) value = assert_success(response) assert_png(value) assert png_dimensions(value) == viewport_dimensions(session)
def test_format_and_dimensions(session, inline): session.url = inline("<input>") element = session.find.css("input", all=False) response = take_element_screenshot(session, element.id) screenshot = assert_success(response) assert png_dimensions(screenshot) == element_dimensions(session, element)
def test_no_browsing_context(session, closed_frame, inline): session.url = inline("<input>") element = session.find.css("input", all=False) response = take_element_screenshot(session, element.id) screenshot = assert_success(response) assert png_dimensions(screenshot) == element_dimensions(session, element)
def test_source_origin(session, url, domain): session.url = inline("""{0}{1}""".format(DEFAULT_CSS_STYLE, DEFAULT_CONTENT)) response = take_full_screenshot(session) reference_screenshot = assert_success(response) assert png_dimensions(reference_screenshot) == document_dimensions(session) iframe_content = "<style>body {{ margin: 0; }}</style>{}".format( DEFAULT_CONTENT) session.url = inline("""{0}{1}""".format( DEFAULT_CSS_STYLE, iframe(iframe_content, domain=domain))) response = take_full_screenshot(session) screenshot = assert_success(response) assert png_dimensions(screenshot) == document_dimensions(session) assert screenshot == reference_screenshot
def test_format_and_dimensions(session): session.url = inline("<input>") element = session.find.css("input", all=False) rect = element_rect(session, element) response = take_element_screenshot(session, element.id) screenshot = assert_success(response) assert png_dimensions(screenshot) == (rect["width"], rect["height"])
def test_format_and_dimensions(session): session.url = inline("<input>") element = session.find.css("input", all=False) rect = element_rect(session, element) response = take_element_screenshot(session, element.id) value = assert_success(response) assert_png(value) assert png_dimensions(value) == (rect["width"], rect["height"])
def test_document_extends_beyond_viewport(session): session.url = inline(""" <style> body { min-height: 200vh } </style> """) response = take_full_screenshot(session) value = assert_success(response) assert_png(value) assert png_dimensions(value) == document_dimensions(session)
def test_source_origin(session, url, domain): # Create a reference element which looks exactly like the iframe session.url = inline("{0}{1}".format(REFERENCE_STYLE, REFERENCE_CONTENT)) div = session.find.css("div", all=False) div_dimensions = element_dimensions(session, div) response = take_element_screenshot(session, div.id) reference_screenshot = assert_success(response) assert png_dimensions(reference_screenshot) == div_dimensions iframe_content = "{0}{1}".format(INNER_IFRAME_STYLE, DEFAULT_CONTENT) session.url = inline("""{0}{1}""".format( OUTER_IFRAME_STYLE, iframe(iframe_content, domain=domain))) frame_element = session.find.css("iframe", all=False) frame_dimensions = element_dimensions(session, frame_element) response = take_element_screenshot(session, frame_element.id) screenshot = assert_success(response) assert png_dimensions(screenshot) == frame_dimensions assert screenshot == reference_screenshot
def test_source_origin(session, url, domain): session.url = inline("""{0}{1}""".format(DEFAULT_CSS_STYLE, DEFAULT_CONTENT)) element = session.find.css("div", all=False) rect = element_rect(session, element) response = take_element_screenshot(session, element.id) reference_screenshot = assert_success(response) assert png_dimensions(reference_screenshot) == (rect["width"], rect["height"]) iframe_content = "<style>body {{ margin: 0; }}</style>{}".format( DEFAULT_CONTENT) session.url = inline("""{0}{1}""".format( DEFAULT_CSS_STYLE, iframe(iframe_content, domain=domain))) frame_element = session.find.css("iframe", all=False) frame_rect = element_rect(session, frame_element) response = take_element_screenshot(session, frame_element.id) screenshot = assert_success(response) assert png_dimensions(screenshot) == (frame_rect["width"], frame_rect["height"]) assert screenshot == reference_screenshot