|
1 | 1 | import codecs
|
| 2 | +import datetime |
2 | 3 | import os
|
3 | 4 | import shutil
|
4 | 5 | import sys
|
@@ -33,10 +34,34 @@ def log_test_failure_data(test, test_logpath, driver, browser, url=None):
|
33 | 34 | last_page = url
|
34 | 35 | else:
|
35 | 36 | last_page = get_last_page(driver)
|
| 37 | + timestamp = str(int(time.time())) + " (Unix Timestamp)" |
| 38 | + now = datetime.datetime.now() |
| 39 | + utc_offset = -time.timezone / 3600.0 |
| 40 | + utc_str = "UTC+0" |
| 41 | + if utc_offset > 0: |
| 42 | + utc_str = "UTC+%s" % utc_offset |
| 43 | + elif utc_offset < 0: |
| 44 | + utc_str = "UTC%s" % utc_offset |
| 45 | + utc_str = utc_str.replace('.5', '.3').replace('.', ':') + "0" |
| 46 | + time_zone = '(' + '/'.join(time.tzname) + ', ' + utc_str + ')' |
| 47 | + # Use [Day-of-Week, Month Day, Year] format when time zone < GMT/UTC-3 |
| 48 | + the_date = now.strftime("%A, %B %d, %Y").replace(' 0', ' ') |
| 49 | + if utc_offset >= -3: |
| 50 | + # Use [Day-of-Week, Day Month Year] format when time zone >= GMT/UTC-3 |
| 51 | + the_date = now.strftime("%A, %d %B %Y").replace(' 0', ' ') |
| 52 | + the_time = now.strftime("%I:%M:%S %p ") + time_zone |
| 53 | + if the_time.startswith("0"): |
| 54 | + the_time = the_time[1:] |
| 55 | + test_id = get_test_id(test) |
36 | 56 | data_to_save = []
|
| 57 | + data_to_save.append("%s" % test_id) |
| 58 | + data_to_save.append("----------------------------------------------------") |
37 | 59 | data_to_save.append("Last Page: %s" % last_page)
|
38 | 60 | data_to_save.append(" Browser: %s" % browser)
|
39 |
| - data_to_save.append("Timestamp: %s" % int(time.time())) |
| 61 | + data_to_save.append("Timestamp: %s" % timestamp) |
| 62 | + data_to_save.append(" Date: %s" % the_date) |
| 63 | + data_to_save.append(" Time: %s" % the_time) |
| 64 | + data_to_save.append("----------------------------------------------------") |
40 | 65 | if sys.version_info[0] >= 3 and hasattr(test, '_outcome') and (
|
41 | 66 | hasattr(test._outcome, 'errors') and test._outcome.errors):
|
42 | 67 | try:
|
@@ -93,6 +118,16 @@ def log_page_source(test_logpath, driver, source=None):
|
93 | 118 | html_file.close()
|
94 | 119 |
|
95 | 120 |
|
| 121 | +def get_test_id(test): |
| 122 | + test_id = "%s.%s.%s" % ( |
| 123 | + test.__class__.__module__, |
| 124 | + test.__class__.__name__, |
| 125 | + test._testMethodName) |
| 126 | + if test._sb_test_identifier and len(str(test._sb_test_identifier)) > 6: |
| 127 | + test_id = test._sb_test_identifier |
| 128 | + return test_id |
| 129 | + |
| 130 | + |
96 | 131 | def get_last_page(driver):
|
97 | 132 | try:
|
98 | 133 | last_page = driver.current_url
|
|
0 commit comments