@@ -172,28 +172,38 @@ void multipleFirefoxInstancesWithBiDiEnabledCanRunSimultaneously() {
172
172
FirefoxOptions options1 = new FirefoxOptions ().enableBiDi ();
173
173
FirefoxOptions options2 = new FirefoxOptions ().enableBiDi ();
174
174
175
- FirefoxDriver driver1 ;
176
- FirefoxDriver driver2 ;
175
+ WebDriver driver1 = null ;
176
+ WebDriver driver2 = null ;
177
177
178
- // Start the first Firefox instance
179
- driver1 = new FirefoxDriver (options1 );
180
- BiDi biDi1 = driver1 .getBiDi ();
181
- assertThat (biDi1 ).isNotNull ();
182
-
183
- // Extract the BiDi websocket URL and port for the first instance
184
- String webSocketUrl1 = (String ) driver1 .getCapabilities ().getCapability ("webSocketUrl" );
185
- String port1 = webSocketUrl1 .replaceAll ("^ws://[^:]+:(\\ d+)/.*$" , "$1" );
186
-
187
- // Start the second Firefox instance
188
- driver2 = new FirefoxDriver (options2 );
189
- BiDi biDi2 = driver2 .getBiDi ();
190
- assertThat (biDi2 ).isNotNull ();
191
-
192
- // Extract the BiDi websocket URL and port for the second instance
193
- String webSocketUrl2 = (String ) driver2 .getCapabilities ().getCapability ("webSocketUrl" );
194
- String port2 = webSocketUrl2 .replaceAll ("^ws://[^:]+:(\\ d+)/.*$" , "$1" );
195
-
196
- // Verify that the ports are different
197
- assertThat (port1 ).isNotEqualTo (port2 );
178
+ try {
179
+ driver1 = new WebDriverBuilder ().get (options1 );
180
+ BiDi biDi1 = ((FirefoxDriver ) driver1 ).getBiDi ();
181
+ assertThat (biDi1 ).isNotNull ();
182
+
183
+ // Extract the BiDi websocket URL and port for the first instance
184
+ String webSocketUrl1 =
185
+ (String ) ((FirefoxDriver ) driver1 ).getCapabilities ().getCapability ("webSocketUrl" );
186
+ String port1 = webSocketUrl1 .replaceAll ("^ws://[^:]+:(\\ d+)/.*$" , "$1" );
187
+
188
+ driver2 = new WebDriverBuilder ().get (options2 );
189
+ BiDi biDi2 = ((FirefoxDriver ) driver2 ).getBiDi ();
190
+ assertThat (biDi2 ).isNotNull ();
191
+
192
+ // Extract the BiDi websocket URL and port for the second instance
193
+ String webSocketUrl2 =
194
+ (String ) ((FirefoxDriver ) driver2 ).getCapabilities ().getCapability ("webSocketUrl" );
195
+ String port2 = webSocketUrl2 .replaceAll ("^ws://[^:]+:(\\ d+)/.*$" , "$1" );
196
+
197
+ // Verify that the ports are different
198
+ assertThat (port1 ).isNotEqualTo (port2 );
199
+ } finally {
200
+ // Clean up
201
+ if (driver1 != null ) {
202
+ driver1 .quit ();
203
+ }
204
+ if (driver2 != null ) {
205
+ driver2 .quit ();
206
+ }
207
+ }
198
208
}
199
209
}
0 commit comments