11from behave import step
22
33
4+ def normalize_text (text ):
5+ text = text .replace ("\\ \\ " , "\\ " ).replace ("\\ t" , "\t " ).replace ("\\ n" , "\n " )
6+ text = text .replace ('\\ "' , '"' ).replace ("\\ '" , "'" )
7+ return text
8+
9+
410@step ("Open '{url}'" )
511@step ('Open "{url}"' )
612@step ("Open URL '{url}'" )
@@ -33,6 +39,7 @@ def click_element(context, selector):
3339@step ('Into "{selector}" type \' {text}\' ' )
3440def type_text (context , selector , text ):
3541 sb = context .sb
42+ text = normalize_text (text )
3643 sb .type (selector , text )
3744
3845
@@ -46,6 +53,7 @@ def type_text(context, selector, text):
4653@step ('Into "{selector}" add \' {text}\' ' )
4754def add_text (context , text , selector ):
4855 sb = context .sb
56+ text = normalize_text (text )
4957 sb .add_text (selector , text )
5058
5159
@@ -62,20 +70,23 @@ def assert_element(context, selector):
6270@step ('Assert text "{text}" in \' {selector}\' ' )
6371def assert_text_in_element (context , text , selector ):
6472 sb = context .sb
73+ text = normalize_text (text )
6574 sb .assert_text (text , selector )
6675
6776
6877@step ("Assert text '{text}'" )
6978@step ('Assert text "{text}"' )
7079def assert_text (context , text ):
7180 sb = context .sb
81+ text = normalize_text (text )
7282 sb .assert_text (text )
7383
7484
7585@step ("Assert exact text '{text}' in '{selector}'" )
7686@step ('Assert exact text "{text}" in "{selector}"' )
7787def assert_exact_text (context , text , selector ):
7888 sb = context .sb
89+ text = normalize_text (text )
7990 sb .assert_exact_text (text , selector )
8091
8192
@@ -139,6 +150,7 @@ def go_forward(context):
139150@step ('JS type text "{text}" into \' {selector}\' ' )
140151def js_type (context , text , selector ):
141152 sb = context .sb
153+ text = normalize_text (text )
142154 sb .js_type (selector , text )
143155
144156
@@ -148,6 +160,7 @@ def js_type(context, text, selector):
148160@step ('Set value of \' {selector}\' to "{text}"' )
149161def set_value (context , text , selector ):
150162 sb = context .sb
163+ text = normalize_text (text )
151164 sb .set_value (selector , text )
152165
153166
@@ -258,6 +271,7 @@ def hover_and_click(context, hover_selector, click_selector):
258271@step ('Find "{selector}" and select \' {text}\' ' )
259272def select_option_by_text (context , selector , text ):
260273 sb = context .sb
274+ text = normalize_text (text )
261275 sb .select_option_by_text (selector , text )
262276
263277
@@ -267,6 +281,7 @@ def select_option_by_text(context, selector, text):
267281@step ('Find "{selector}" and select \' {text}\' by {option}' )
268282def select_option_by_option (context , selector , text , option ):
269283 sb = context .sb
284+ text = normalize_text (text )
270285 if option .startswith ("'" ) or option .startswith ('"' ):
271286 option = option [1 :]
272287 if option .endswith ("'" ) or option .endswith ('"' ):
@@ -440,13 +455,15 @@ def assert_element_not_visible(context, selector):
440455@step ('Assert link text "{text}"' )
441456def assert_link_text (context , text ):
442457 sb = context .sb
458+ text = normalize_text (text )
443459 sb .assert_link_text (text )
444460
445461
446462@step ("Assert title '{title}'" )
447463@step ('Assert title "{title}"' )
448464def assert_title (context , title ):
449465 sb = context .sb
466+ title = normalize_text (title )
450467 sb .assert_title (title )
451468
452469
@@ -494,6 +511,7 @@ def assert_attribute(context, selector, attribute):
494511@step ('In \' {selector}\' assert attribute/value "{attribute}"/"{value}"' )
495512def assert_attribute_has_value (context , selector , attribute , value ):
496513 sb = context .sb
514+ value = normalize_text (value )
497515 sb .assert_attribute (selector , attribute , value )
498516
499517
@@ -542,20 +560,23 @@ def deferred_assert_element_present(context, selector):
542560@step ('Deferred assert text "{text}" in \' {selector}\' ' )
543561def deferred_assert_text_in_element (context , text , selector ):
544562 sb = context .sb
563+ text = normalize_text (text )
545564 sb .deferred_assert_text (text , selector )
546565
547566
548567@step ("Deferred assert text '{text}'" )
549568@step ('Deferred assert text "{text}"' )
550569def deferred_assert_text (context , text ):
551570 sb = context .sb
571+ text = normalize_text (text )
552572 sb .deferred_assert_text (text )
553573
554574
555575@step ("Deferred assert exact text '{text}' in '{selector}'" )
556576@step ('Deferred assert exact text "{text}" in "{selector}"' )
557577def deferred_assert_exact_text (context , text , selector ):
558578 sb = context .sb
579+ text = normalize_text (text )
559580 sb .deferred_assert_exact_text (text , selector )
560581
561582
0 commit comments