2016-04-30 14 views
0

Ich möchte testen, ob das Format etwa wie '03: 10 ~ 04:10 'in Python-Tests, aber ich habe ein Problem, es richtig zu bekommen. Dies ist mein CodeZeitformat in Python-Tests

def test_activity_today_time_format(self): 
    """Test time format is HH:MM """  
    driver = self.driver  
    # Get page by URL 
    driver.get(self.base_url + "/userk/inbox/")  
    # Check time format  
    self.assertEqual("%H:%M ~ %H:%M", driver.find_element_by_xpath("//td[3]").text) 

Ich glaube, ich habe ein Problem mit dieser Logik

"%H:%M ~ %H:%M" 

Antwort

1

Sie die Zeichenfolge buchstäblich zu vergleichen, die angeblich selbst Zeitformat mit dem Datum sein; kann das nicht tun. Sie können reguläre Ausdrücke verwenden. Etwas wie folgt aus:

text = driver.find_element_by_xpath("//td[3]").text 
pattern = re.compile(r"((1?\d)|2[0-4]):[1-5]?\d ~ ((1?\d)|2[0-4]):[1-5]?\d") 
self.assertRegexpMatches(text, pattern, "Date format not correct") 
+0

Vielen Dank ... Ich denke, das ist das, was ich schon seit –

+0

suchen Ich bin wirklich neu zu testen ... Ich habe diese Fehlermeldung ... Traceback (jüngste letzter Aufruf): Datei "testing/actuser_layouts.py", Zeile 35, in test_activity_today_time_format pattern = re.compile (r "((1? \ d) | 2 [0-4]): [1-5]? \ d ~ ((1? \ d) | 2 [0-4]): [1-5]? \ d ") NameError: globaler Name 're' ist nicht definiert –

+0

Sie müssen' re importieren '. – Amadan