2929import org .openqa .selenium .ImmutableCapabilities ;
3030import org .openqa .selenium .JavascriptExecutor ;
3131import org .openqa .selenium .OutputType ;
32+ import org .openqa .selenium .PageLoadStrategy ;
3233import org .openqa .selenium .ParallelTestRunner ;
3334import org .openqa .selenium .ParallelTestRunner .Worker ;
3435import org .openqa .selenium .WebDriver ;
3536import org .openqa .selenium .WebElement ;
3637import org .openqa .selenium .build .InProject ;
38+ import org .openqa .selenium .remote .CapabilityType ;
3739import org .openqa .selenium .remote .Command ;
3840import org .openqa .selenium .remote .CommandExecutor ;
3941import org .openqa .selenium .remote .DriverCommand ;
7274import static org .mockito .Mockito .verify ;
7375import static org .openqa .selenium .WaitingConditions .elementValueToEqual ;
7476import static org .openqa .selenium .remote .CapabilityType .ACCEPT_INSECURE_CERTS ;
77+ import static org .openqa .selenium .remote .CapabilityType .PAGE_LOAD_STRATEGY ;
7578import static org .openqa .selenium .support .ui .ExpectedConditions .titleIs ;
7679import static org .openqa .selenium .testing .drivers .Browser .FIREFOX ;
7780
@@ -135,7 +138,6 @@ public void canStartDriverWithNoParameters() {
135138 }
136139
137140 @ Test
138- @ Ignore (value = FIREFOX , reason = "Assumed to be covered by tests for GeckoDriverService" )
139141 @ NoDriverBeforeTest
140142 public void canStartDriverWithSpecifiedBinary () {
141143 FirefoxBinary binary = spy (new FirefoxBinary ());
@@ -182,27 +184,6 @@ public void canSetProfileInFirefoxOptions() {
182184 wait (localDriver ).until ($ -> "XHTML Test Page" .equals (localDriver .getTitle ()));
183185 }
184186
185- @ Test
186- @ Ignore (value = FIREFOX , reason = "Assumed to be covered by tests for GeckoDriverService" )
187- @ NoDriverBeforeTest
188- public void canSetBinaryInCapabilities () {
189- FirefoxBinary binary = spy (new FirefoxBinary ());
190- Capabilities caps = new ImmutableCapabilities (FirefoxDriver .Capability .BINARY , binary );
191-
192- localDriver = new WebDriverBuilder ().get (caps );
193-
194- verify (binary , atLeastOnce ()).getPath ();
195- }
196-
197- @ Test
198- @ NoDriverBeforeTest
199- public void canSetBinaryPathInCapabilities () {
200- String binPath = new FirefoxBinary ().getPath ();
201- Capabilities caps = new ImmutableCapabilities (FirefoxDriver .Capability .BINARY , binPath );
202-
203- localDriver = new WebDriverBuilder ().get (caps );
204- }
205-
206187 @ Test
207188 @ NoDriverBeforeTest
208189 public void canSetPreferencesAndProfileInFirefoxOptions () {
@@ -327,16 +308,13 @@ public void shouldBeAbleToStartANamedProfile() {
327308 }
328309
329310 @ Test
330- @ Timeout (60 )
331- @ Ignore ( FIREFOX )
311+ @ Timeout (10 )
312+ @ NoDriverBeforeTest
332313 public void shouldBeAbleToStartANewInstanceEvenWithVerboseLogging () {
333- FirefoxBinary binary = new FirefoxBinary ();
334314 GeckoDriverService service = new GeckoDriverService .Builder ()
335- .usingFirefoxBinary (binary )
336315 .withEnvironment (ImmutableMap .of ("NSPR_LOG_MODULES" , "all:5" ))
337316 .build ();
338317
339- // We will have an infinite hang if this driver does not start properly.
340318 new FirefoxDriver (service ).quit ();
341319 }
342320
@@ -354,6 +332,16 @@ public void shouldBeAbleToPassCommandLineOptions() {
354332 assertThat (size .height ).isLessThan (650 );
355333 }
356334
335+ @ Test
336+ @ NoDriverBeforeTest
337+ public void canPassCapabilities () {
338+ Capabilities caps = new ImmutableCapabilities (CapabilityType .PAGE_LOAD_STRATEGY , "none" );
339+
340+ localDriver = new FirefoxDriver (new FirefoxOptions ().merge (caps ));
341+
342+ assertThat (((FirefoxDriver ) localDriver ).getCapabilities ().getCapability (PAGE_LOAD_STRATEGY )).isEqualTo ("none" );
343+ }
344+
357345 @ Test
358346 @ NoDriverBeforeTest
359347 public void canBlockInsecureCerts () {
@@ -364,24 +352,23 @@ public void canBlockInsecureCerts() {
364352
365353 @ Test
366354 @ NoDriverBeforeTest
367- public void shouldAllowUserToSuccessfullyOverrideTheHomePage () {
368- FirefoxProfile profile = new FirefoxProfile ();
369- profile .setPreference ("browser.startup.page" , "1" );
370- profile .setPreference ("browser.startup.homepage" , pages .javascriptPage );
355+ public void canSetPageLoadStrategyViaOptions () {
356+ localDriver = new FirefoxDriver (
357+ new FirefoxOptions ().setPageLoadStrategy (PageLoadStrategy .NONE ));
371358
372- localDriver = new WebDriverBuilder ().get (new FirefoxOptions ().setProfile (profile ));
373- new WebDriverWait (localDriver , Duration .ofSeconds (30 )).until (urlToBe (pages .javascriptPage ));
359+ assertThat (((FirefoxDriver ) localDriver ).getCapabilities ().getCapability (PAGE_LOAD_STRATEGY )).isEqualTo ("none" );
374360 }
375361
376- private ExpectedCondition <Boolean > urlToBe (final String expectedUrl ) {
377- return driver1 -> expectedUrl .equals (driver1 .getCurrentUrl ());
362+ @ Test
363+ @ NoDriverBeforeTest
364+ public void canStartHeadless () {
365+ localDriver = new FirefoxDriver (new FirefoxOptions ().setHeadless (true ));
366+
367+ assertThat (((FirefoxDriver ) localDriver ).getCapabilities ().getCapability ("moz:headless" )).isEqualTo (true );
378368 }
379369
380- @ Test
381- @ Ignore (value = FIREFOX , issue = "https://github.com/mozilla/geckodriver/issues/273" )
382- public void canAccessUrlProtectedByBasicAuth () {
383- driver .get (appServer .whereIsWithCredentials ("basicAuth" , "test" , "test" ));
384- assertThat (driver .findElement (By .tagName ("h1" )).getText ()).isEqualTo ("authorized" );
370+ private ExpectedCondition <Boolean > urlToBe (final String expectedUrl ) {
371+ return driver1 -> expectedUrl .equals (driver1 .getCurrentUrl ());
385372 }
386373
387374 @ Test
0 commit comments