1
1
from behave import step
2
2
3
3
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
+
4
10
@step ("Open '{url}'" )
5
11
@step ('Open "{url}"' )
6
12
@step ("Open URL '{url}'" )
@@ -33,6 +39,7 @@ def click_element(context, selector):
33
39
@step ('Into "{selector}" type \' {text}\' ' )
34
40
def type_text (context , selector , text ):
35
41
sb = context .sb
42
+ text = normalize_text (text )
36
43
sb .type (selector , text )
37
44
38
45
@@ -46,6 +53,7 @@ def type_text(context, selector, text):
46
53
@step ('Into "{selector}" add \' {text}\' ' )
47
54
def add_text (context , text , selector ):
48
55
sb = context .sb
56
+ text = normalize_text (text )
49
57
sb .add_text (selector , text )
50
58
51
59
@@ -62,20 +70,23 @@ def assert_element(context, selector):
62
70
@step ('Assert text "{text}" in \' {selector}\' ' )
63
71
def assert_text_in_element (context , text , selector ):
64
72
sb = context .sb
73
+ text = normalize_text (text )
65
74
sb .assert_text (text , selector )
66
75
67
76
68
77
@step ("Assert text '{text}'" )
69
78
@step ('Assert text "{text}"' )
70
79
def assert_text (context , text ):
71
80
sb = context .sb
81
+ text = normalize_text (text )
72
82
sb .assert_text (text )
73
83
74
84
75
85
@step ("Assert exact text '{text}' in '{selector}'" )
76
86
@step ('Assert exact text "{text}" in "{selector}"' )
77
87
def assert_exact_text (context , text , selector ):
78
88
sb = context .sb
89
+ text = normalize_text (text )
79
90
sb .assert_exact_text (text , selector )
80
91
81
92
@@ -139,6 +150,7 @@ def go_forward(context):
139
150
@step ('JS type text "{text}" into \' {selector}\' ' )
140
151
def js_type (context , text , selector ):
141
152
sb = context .sb
153
+ text = normalize_text (text )
142
154
sb .js_type (selector , text )
143
155
144
156
@@ -148,6 +160,7 @@ def js_type(context, text, selector):
148
160
@step ('Set value of \' {selector}\' to "{text}"' )
149
161
def set_value (context , text , selector ):
150
162
sb = context .sb
163
+ text = normalize_text (text )
151
164
sb .set_value (selector , text )
152
165
153
166
@@ -258,6 +271,7 @@ def hover_and_click(context, hover_selector, click_selector):
258
271
@step ('Find "{selector}" and select \' {text}\' ' )
259
272
def select_option_by_text (context , selector , text ):
260
273
sb = context .sb
274
+ text = normalize_text (text )
261
275
sb .select_option_by_text (selector , text )
262
276
263
277
@@ -267,6 +281,7 @@ def select_option_by_text(context, selector, text):
267
281
@step ('Find "{selector}" and select \' {text}\' by {option}' )
268
282
def select_option_by_option (context , selector , text , option ):
269
283
sb = context .sb
284
+ text = normalize_text (text )
270
285
if option .startswith ("'" ) or option .startswith ('"' ):
271
286
option = option [1 :]
272
287
if option .endswith ("'" ) or option .endswith ('"' ):
@@ -440,13 +455,15 @@ def assert_element_not_visible(context, selector):
440
455
@step ('Assert link text "{text}"' )
441
456
def assert_link_text (context , text ):
442
457
sb = context .sb
458
+ text = normalize_text (text )
443
459
sb .assert_link_text (text )
444
460
445
461
446
462
@step ("Assert title '{title}'" )
447
463
@step ('Assert title "{title}"' )
448
464
def assert_title (context , title ):
449
465
sb = context .sb
466
+ title = normalize_text (title )
450
467
sb .assert_title (title )
451
468
452
469
@@ -494,6 +511,7 @@ def assert_attribute(context, selector, attribute):
494
511
@step ('In \' {selector}\' assert attribute/value "{attribute}"/"{value}"' )
495
512
def assert_attribute_has_value (context , selector , attribute , value ):
496
513
sb = context .sb
514
+ value = normalize_text (value )
497
515
sb .assert_attribute (selector , attribute , value )
498
516
499
517
@@ -542,20 +560,23 @@ def deferred_assert_element_present(context, selector):
542
560
@step ('Deferred assert text "{text}" in \' {selector}\' ' )
543
561
def deferred_assert_text_in_element (context , text , selector ):
544
562
sb = context .sb
563
+ text = normalize_text (text )
545
564
sb .deferred_assert_text (text , selector )
546
565
547
566
548
567
@step ("Deferred assert text '{text}'" )
549
568
@step ('Deferred assert text "{text}"' )
550
569
def deferred_assert_text (context , text ):
551
570
sb = context .sb
571
+ text = normalize_text (text )
552
572
sb .deferred_assert_text (text )
553
573
554
574
555
575
@step ("Deferred assert exact text '{text}' in '{selector}'" )
556
576
@step ('Deferred assert exact text "{text}" in "{selector}"' )
557
577
def deferred_assert_exact_text (context , text , selector ):
558
578
sb = context .sb
579
+ text = normalize_text (text )
559
580
sb .deferred_assert_exact_text (text , selector )
560
581
561
582
0 commit comments