screenshot.py (1344B)
1 from tests.support.asserts import assert_error, assert_png, assert_success 2 from tests.support.image import png_dimensions 3 4 from . import document_dimensions 5 6 7 def take_full_screenshot(session): 8 return session.transport.send( 9 "GET", 10 f"/session/{session.session_id}/moz/screenshot/full", 11 ) 12 13 14 def test_no_browsing_context(session, closed_window): 15 response = take_full_screenshot(session) 16 assert_error(response, "no such window") 17 18 19 def test_html_document(session, inline): 20 session.url = inline("<input>") 21 22 response = take_full_screenshot(session) 23 value = assert_success(response) 24 assert_png(value) 25 assert png_dimensions(value) == document_dimensions(session) 26 27 28 def test_xhtml_document(session, inline): 29 session.url = inline('<input type="text" />', doctype="xhtml") 30 31 response = take_full_screenshot(session) 32 value = assert_success(response) 33 assert_png(value) 34 assert png_dimensions(value) == document_dimensions(session) 35 36 37 def test_document_extends_beyond_viewport(session, inline): 38 session.url = inline( 39 """ 40 <style> 41 body { min-height: 200vh } 42 </style> 43 """ 44 ) 45 46 response = take_full_screenshot(session) 47 value = assert_success(response) 48 assert_png(value) 49 assert png_dimensions(value) == document_dimensions(session)