@@ -65,9 +65,65 @@ def get_master_time():
65
65
return timestamp , the_date , the_time
66
66
67
67
68
+ def get_browser_version (driver ):
69
+ driver_capabilities = driver .capabilities
70
+ if "version" in driver_capabilities :
71
+ browser_version = driver_capabilities ["version" ]
72
+ else :
73
+ browser_version = driver_capabilities ["browserVersion" ]
74
+ return browser_version
75
+
76
+
77
+ def get_driver_name_and_version (driver , browser ):
78
+ if driver .capabilities ["browserName" ].lower () == "chrome" :
79
+ cap_dict = driver .capabilities ["chrome" ]
80
+ return ("chromedriver" , cap_dict ["chromedriverVersion" ].split (" " )[0 ])
81
+ elif driver .capabilities ["browserName" ].lower () == "msedge" :
82
+ cap_dict = driver .capabilities ["msedge" ]
83
+ return ("msedgedriver" , cap_dict ["msedgedriverVersion" ].split (" " )[0 ])
84
+ elif driver .capabilities ["browserName" ].lower () == "opera" :
85
+ cap_dict = driver .capabilities ["opera" ]
86
+ return ("operadriver" , cap_dict ["operadriverVersion" ].split (" " )[0 ])
87
+ elif driver .capabilities ["browserName" ].lower () == "firefox" :
88
+ return ("geckodriver" , driver .capabilities ["moz:geckodriverVersion" ])
89
+ elif browser == "safari" :
90
+ return ("safaridriver" , get_browser_version (driver ))
91
+ elif browser == "ie" :
92
+ return ("iedriver" , get_browser_version (driver ))
93
+ else :
94
+ return None
95
+
96
+
68
97
def log_test_failure_data (test , test_logpath , driver , browser , url = None ):
69
98
import traceback
70
99
100
+ browser_displayed = browser
101
+ driver_displayed = None
102
+ browser_version = None
103
+ driver_version = None
104
+ driver_name = None
105
+ try :
106
+ browser_version = get_browser_version (driver )
107
+ except Exception :
108
+ pass
109
+ try :
110
+ driver_name , driver_version = get_driver_name_and_version (
111
+ driver , browser
112
+ )
113
+ except Exception :
114
+ pass
115
+ if browser_version :
116
+ headless = ""
117
+ if test .headless and browser in ["chrome" , "edge" , "firefox" ]:
118
+ headless = " / headless"
119
+ browser_displayed = "%s (%s%s)" % (browser , browser_version , headless )
120
+ if driver_name and driver_version :
121
+ driver_displayed = "%s (%s)" % (driver_name , driver_version )
122
+ if not browser_version :
123
+ browser_displayed = browser
124
+ driver_displayed = "(Unknown Driver)"
125
+ if not driver_displayed :
126
+ driver_displayed = "(Unknown Driver)"
71
127
basic_info_name = settings .BASIC_INFO_NAME
72
128
basic_file_path = "%s/%s" % (test_logpath , basic_info_name )
73
129
if url :
@@ -82,7 +138,8 @@ def log_test_failure_data(test, test_logpath, driver, browser, url=None):
82
138
"--------------------------------------------------------------------"
83
139
)
84
140
data_to_save .append ("Last Page: %s" % last_page )
85
- data_to_save .append (" Browser: %s" % browser )
141
+ data_to_save .append (" Browser: %s" % browser_displayed )
142
+ data_to_save .append (" Driver: %s" % driver_displayed )
86
143
data_to_save .append ("Timestamp: %s" % timestamp )
87
144
data_to_save .append (" Date: %s" % the_date )
88
145
data_to_save .append (" Time: %s" % the_time )
@@ -140,7 +197,34 @@ def log_test_failure_data(test, test_logpath, driver, browser, url=None):
140
197
log_file .close ()
141
198
142
199
143
- def log_skipped_test_data (test , test_logpath , browser , reason ):
200
+ def log_skipped_test_data (test , test_logpath , driver , browser , reason ):
201
+ browser_displayed = browser
202
+ driver_displayed = None
203
+ browser_version = None
204
+ driver_version = None
205
+ driver_name = None
206
+ try :
207
+ browser_version = get_browser_version (driver )
208
+ except Exception :
209
+ pass
210
+ try :
211
+ driver_name , driver_version = get_driver_name_and_version (
212
+ driver , browser
213
+ )
214
+ except Exception :
215
+ pass
216
+ if browser_version :
217
+ headless = ""
218
+ if test .headless and browser in ["chrome" , "edge" , "firefox" ]:
219
+ headless = " / headless"
220
+ browser_displayed = "%s (%s%s)" % (browser , browser_version , headless )
221
+ if driver_name and driver_version :
222
+ driver_displayed = "%s (%s)" % (driver_name , driver_version )
223
+ if not browser_version :
224
+ browser_displayed = browser
225
+ driver_displayed = "(Unknown Driver)"
226
+ if not driver_displayed :
227
+ driver_displayed = "(Unknown Driver)"
144
228
timestamp , the_date , the_time = get_master_time ()
145
229
test_id = get_test_id (test ) # pytest runnable display_id (with the "::")
146
230
data_to_save = []
@@ -149,7 +233,8 @@ def log_skipped_test_data(test, test_logpath, browser, reason):
149
233
"--------------------------------------------------------------------"
150
234
)
151
235
data_to_save .append (" Outcome: SKIPPED" )
152
- data_to_save .append (" Browser: %s" % browser )
236
+ data_to_save .append (" Browser: %s" % browser_displayed )
237
+ data_to_save .append (" Driver: %s" % driver_displayed )
153
238
data_to_save .append (" Timestamp: %s" % timestamp )
154
239
data_to_save .append (" Date: %s" % the_date )
155
240
data_to_save .append (" Time: %s" % the_time )
0 commit comments