1from tests.support.asserts import assert_error, assert_success 2 3 4def get_element_css_value(session, element_id, prop): 5 return session.transport.send( 6 "GET", 7 "session/{session_id}/element/{element_id}/css/{prop}".format( 8 session_id=session.session_id, 9 element_id=element_id, 10 prop=prop 11 ) 12 ) 13 14 15def test_no_top_browsing_context(session, closed_window): 16 original_handle, element = closed_window 17 response = get_element_css_value(session, element.id, "display") 18 assert_error(response, "no such window") 19 response = get_element_css_value(session, "foo", "bar") 20 assert_error(response, "no such window") 21 22 session.window_handle = original_handle 23 response = get_element_css_value(session, element.id, "display") 24 assert_error(response, "no such element") 25 26 27def test_no_browsing_context(session, closed_frame): 28 response = get_element_css_value(session, "foo", "bar") 29 assert_error(response, "no such window") 30 31 32def test_element_not_found(session): 33 result = get_element_css_value(session, "foo", "display") 34 assert_error(result, "no such element") 35 36 37def test_element_stale(session, inline): 38 session.url = inline("<input>") 39 element = session.find.css("input", all=False) 40 session.refresh() 41 42 result = get_element_css_value(session, element.id, "display") 43 assert_error(result, "stale element reference") 44 45 46def test_property_name_value(session, inline): 47 session.url = inline("""<input style="display: block">""") 48 element = session.find.css("input", all=False) 49 50 result = get_element_css_value(session, element.id, "display") 51 assert_success(result, "block") 52 53 54def test_property_name_not_existent(session, inline): 55 session.url = inline("<input>") 56 element = session.find.css("input", all=False) 57 58 result = get_element_css_value(session, element.id, "foo") 59 assert_success(result, "") 60