Пример #1
0
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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
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)
Пример #7
0
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)
Пример #8
0
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)
Пример #9
0
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)
Пример #10
0
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)
Пример #11
0
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
Пример #12
0
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"])
Пример #13
0
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"])
Пример #14
0
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)
Пример #15
0
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
Пример #16
0
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