Add 12hour time support to time/datetime POM regions

>_>
This commit is contained in:
2020-05-27 15:46:04 -04:00
parent c065148979
commit f69365a0fb
2 changed files with 15 additions and 5 deletions

View File

@@ -202,7 +202,7 @@ FORMAT_MODULE_PATH = 'PyRIGS.formats'
USE_I18N = True
USE_L10N = False
USE_L10N = True
USE_TZ = True

View File

@@ -1,4 +1,5 @@
from pypom import Region
from django.utils import timezone
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.remote.webelement import WebElement
@@ -17,6 +18,15 @@ def parse_bool_from_string(string):
else:
return False
# 12-Hour vs 24-Hour Time. Affects widget display
def get_time_format():
# Default
time_format = "%H:%M"
# If system is 12hr
if timezone.now().strftime("%p"):
time_format = "%I:%M %p"
return time_format
class BootstrapSelectElement(Region):
_main_button_locator = (By.CSS_SELECTOR, 'button.dropdown-toggle')
@@ -127,23 +137,23 @@ class DatePicker(Region):
class TimePicker(Region):
@property
def value(self):
return datetime.datetime.strptime(self.root.get_attribute("value"), "%H:%M")
return datetime.datetime.strptime(self.root.get_attribute("value"), get_time_format())
def set_value(self, value):
self.root.clear()
self.root.send_keys(value.strftime("%H:%M"))
self.root.send_keys(value.strftime(get_time_format()))
class DateTimePicker(Region):
@property
def value(self):
return datetime.datetime.strptime(self.root.get_attribute("value"), "%Y-%m-%d %H:%M")
return datetime.datetime.strptime(self.root.get_attribute("value"), "%Y-%m-%d " + get_time_format())
def set_value(self, value):
self.root.clear()
date = value.date().strftime("%d%m%Y")
time = value.time().strftime("%H:%M")
time = value.time().strftime(get_time_format())
self.root.send_keys(date)
self.root.send_keys(Keys.TAB)