@@ -21,15 +21,25 @@ def percy_snapshot(cls, name=''):
21
21
name = snapshot_name
22
22
)
23
23
24
- def wait_for_element_by_css_selector (self , selector ):
25
- return WebDriverWait (self .driver , TIMEOUT ).until (
26
- EC .presence_of_element_located ((By .CSS_SELECTOR , selector ))
24
+ def wait_for_element_by_css_selector (self , selector , timeout = TIMEOUT ):
25
+ return WebDriverWait (self .driver , timeout ).until (
26
+ EC .presence_of_element_located ((By .CSS_SELECTOR , selector )),
27
+ 'Could not find element with selector "{}"' .format (selector )
27
28
)
28
29
29
- def wait_for_text_to_equal (self , selector , assertion_text ):
30
- return WebDriverWait (self .driver , TIMEOUT ).until (
31
- EC .text_to_be_present_in_element ((By .CSS_SELECTOR , selector ),
32
- assertion_text )
30
+ def wait_for_text_to_equal (self , selector , assertion_text , timeout = TIMEOUT ):
31
+ self .wait_for_element_by_css_selector (selector )
32
+ WebDriverWait (self .driver , timeout ).until (
33
+ lambda * args : (
34
+ (str (self .wait_for_element_by_css_selector (selector ).text )
35
+ == assertion_text ) or
36
+ (str (self .wait_for_element_by_css_selector (selector ).get_attribute ('value' ))
37
+ == assertion_text )
38
+ ),
39
+ "Element '{}' text was supposed to equal '{}' but it didn't" .format (
40
+ selector ,
41
+ assertion_text
42
+ )
33
43
)
34
44
35
45
@classmethod
0 commit comments