@@ -30,14 +30,15 @@ def testShouldSwitchFocusToANewWindowWhenItIsOpenedAndNotStopFutureOperations(se
30
30
31
31
self .driver .find_element_by_link_text ("Open new window" ).click ()
32
32
self .assertEqual (self .driver .title , "XHTML Test Page" )
33
-
34
- self .driver .switch_to .window ("result" )
33
+ handles = self .driver .window_handles
34
+ handles .remove (current )
35
+ self .driver .switch_to .window (handles [0 ])
35
36
self .assertEqual (self .driver .title , "We Arrive Here" )
36
37
37
38
self ._loadPage ("iframes" )
38
39
handle = self .driver .current_window_handle
39
40
self .driver .find_element_by_id ("iframe_page_heading" )
40
- self .driver .switch_to .frame ("iframe1" )
41
+ self .driver .switch_to .frame (self . driver . find_element ( By . ID , "iframe1" ) )
41
42
42
43
self .assertEqual (self .driver .current_window_handle , handle )
43
44
@@ -56,12 +57,14 @@ def testShouldThrowNoSuchWindowException(self):
56
57
self .driver .switch_to .window (current )
57
58
58
59
@pytest .mark .ignore_chrome
60
+ @pytest .mark .ignore_marionette
59
61
def testShouldThrowNoSuchWindowExceptionOnAnAttemptToGetItsHandle (self ):
60
62
self ._loadPage ("xhtmlTest" )
61
63
current = self .driver .current_window_handle
62
64
self .driver .find_element (By .LINK_TEXT ,"Open new window" ).click ()
63
-
64
- self .driver .switch_to .window ("result" )
65
+ handles = self .driver .window_handles
66
+ handles .remove (current )
67
+ self .driver .switch_to .window (handles [0 ])
65
68
self .driver .close ()
66
69
67
70
try :
@@ -74,13 +77,15 @@ def testShouldThrowNoSuchWindowExceptionOnAnAttemptToGetItsHandle(self):
74
77
75
78
@pytest .mark .ignore_chrome
76
79
@pytest .mark .ignore_ie
80
+ @pytest .mark .ignore_marionette
77
81
def testShouldThrowNoSuchWindowExceptionOnAnyOperationIfAWindowIsClosed (self ):
78
82
self ._loadPage ("xhtmlTest" )
79
83
current = self .driver .current_window_handle
80
84
81
85
self .driver .find_element (By .LINK_TEXT ,"Open new window" ).click ()
82
-
83
- self .driver .switch_to .window ("result" )
86
+ handles = self .driver .window_handles
87
+ handles .remove (current )
88
+ self .driver .switch_to .window (handles [0 ])
84
89
self .driver .close ()
85
90
try :
86
91
try :
@@ -99,12 +104,15 @@ def testShouldThrowNoSuchWindowExceptionOnAnyOperationIfAWindowIsClosed(self):
99
104
100
105
@pytest .mark .ignore_chrome
101
106
@pytest .mark .ignore_ie
107
+ @pytest .mark .ignore_marionette
102
108
def testShouldThrowNoSuchWindowExceptionOnAnyElementOperationIfAWindowIsClosed (self ):
103
109
self ._loadPage ("xhtmlTest" )
104
110
current = self .driver .current_window_handle
105
111
self .driver .find_element (By .LINK_TEXT ,"Open new window" ).click ()
106
112
107
- self .driver .switch_to .window ("result" )
113
+ handles = self .driver .window_handles
114
+ handles .remove (current )
115
+ self .driver .switch_to .window (handles [0 ])
108
116
element = self .driver .find_element_by_tag_name ("body" )
109
117
self .driver .close ()
110
118
@@ -116,37 +124,43 @@ def testShouldThrowNoSuchWindowExceptionOnAnyElementOperationIfAWindowIsClosed(s
116
124
finally :
117
125
self .driver .switch_to .window (current )
118
126
127
+ @pytest .mark .ignore_marionette
119
128
def testClickingOnAButtonThatClosesAnOpenWindowDoesNotCauseTheBrowserToHang (self ):
120
129
self ._loadPage ("xhtmlTest" )
121
130
122
- currentHandle = self .driver .current_window_handle
131
+ current = self .driver .current_window_handle
123
132
124
133
self .driver .find_element_by_name ("windowThree" ).click ()
125
134
126
- self .driver .switch_to .window ("result" )
135
+ handles = self .driver .window_handles
136
+ handles .remove (current )
137
+ self .driver .switch_to .window (handles [0 ])
127
138
128
139
try :
129
140
self .driver .find_element_by_id ("close" ).click ()
130
141
finally :
131
- self .driver .switch_to .window (currentHandle )
142
+ self .driver .switch_to .window (current )
132
143
self .driver .find_element_by_id ("linkId" )
133
144
145
+ @pytest .mark .ignore_marionette
134
146
def testCanCallGetWindowHandlesAfterClosingAWindow (self ):
135
147
self ._loadPage ("xhtmlTest" )
136
148
137
- currentHandle = self .driver .current_window_handle
149
+ current = self .driver .current_window_handle
138
150
139
151
self .driver .find_element_by_name ("windowThree" ).click ()
140
152
141
- self .driver .switch_to .window ("result" )
153
+ handles = self .driver .window_handles
154
+ handles .remove (current )
155
+ self .driver .switch_to .window (handles [0 ])
142
156
143
157
try :
144
158
self .driver .find_element_by_id ("close" ).click ()
145
159
all_handles = self .driver .window_handles
146
160
147
161
self .assertEqual (1 , len (all_handles ))
148
162
finally :
149
- self .driver .switch_to .window (currentHandle )
163
+ self .driver .switch_to .window (current )
150
164
151
165
def testCanObtainAWindowHandle (self ):
152
166
self ._loadPage ("xhtmlTest" )
@@ -167,14 +181,17 @@ def testFailingToSwitchToAWindowLeavesTheCurrentWindowAsIs(self):
167
181
168
182
self .assertEqual (current , new_handle )
169
183
184
+ @pytest .mark .ignore_marionette
170
185
def testThatAccessingFindingAnElementAfterWindowIsClosedAndHaventswitchedDoesntCrash (self ):
171
186
self ._loadPage ("xhtmlTest" )
172
187
173
- currentHandle = self .driver .current_window_handle
188
+ current = self .driver .current_window_handle
174
189
175
190
self .driver .find_element_by_name ("windowThree" ).click ()
176
191
177
- self .driver .switch_to .window ("result" )
192
+ handles = self .driver .window_handles
193
+ handles .remove (current )
194
+ self .driver .switch_to .window (handles [0 ])
178
195
179
196
try :
180
197
self .driver .find_element_by_id ("close" ).click ()
0 commit comments