@@ -66,9 +66,15 @@ def execute_javascript(self, *code):
6666 | `Execute JavaScript` | alert(arguments[0]); | ARGUMENTS | 123 |
6767 | `Execute JavaScript` | ARGUMENTS | 123 | JAVASCRIPT | alert(arguments[0]); |
6868 """
69- js_code , js_args = self ._get_javascript_to_execute (code )
70- self ._js_logger ('Executing JavaScript' , js_code , js_args )
71- return self .driver .execute_script (js_code , * js_args )
69+ try :
70+ js_code , js_args = self ._get_javascript_to_execute (code )
71+ self ._js_logger ('Executing JavaScript' , js_code , js_args )
72+ res = self .driver .execute_script (js_code , * js_args )
73+ self .driver .report ().step (description = 'Execute JavaScript' , message = 'Executed JavaScript. Result: ' + str (res ), passed = True , screenshot = False )
74+ return res
75+ except Exception as e :
76+ self .driver .report ().step (description = 'Execute JavaScript' , message = 'Could not execute JavaScript. Error: ' + str (e ), passed = False , screenshot = True )
77+ raise AssertionError ("Failed to execute JavaScript" )
7278
7379 @keyword
7480 def execute_async_javascript (self , * code ):
@@ -96,9 +102,15 @@ def execute_async_javascript(self, *code):
96102 | ... | window.setTimeout(answer, 2000); |
97103 | `Should Be Equal` | ${result} | text |
98104 """
99- js_code , js_args = self ._get_javascript_to_execute (code )
100- self ._js_logger ('Executing Asynchronous JavaScript' , js_code , js_args )
101- return self .driver .execute_async_script (js_code , * js_args )
105+ try :
106+ js_code , js_args = self ._get_javascript_to_execute (code )
107+ self ._js_logger ('Executing Asynchronous JavaScript' , js_code , js_args )
108+ res = self .driver .execute_async_script (js_code , * js_args )
109+ self .driver .report ().step (description = 'Execute Async JavaScript' , message = 'Executed Async JavaScript. Result: ' + str (res ), passed = True , screenshot = False )
110+ return res
111+ except Exception as e :
112+ self .driver .report ().step (description = 'Execute Async JavaScript' , message = 'Could not execute Async JavaScript. Error: ' + str (e ), passed = False , screenshot = True )
113+ raise AssertionError ("Failed to execute Async JavaScript" )
102114
103115 def _js_logger (self , base , code , args ):
104116 message = '%s:\n %s\n ' % (base , code )
0 commit comments