anchor.diff:  include::../../test/java/io/github/bonigarcia/seljup/test/local/SafariTest.java[tags=snippet-in-doc,indent=0]
   ----
   
  +In addition, Selenium-Jupiter provides the class-level annotation `@EnabledIfDriverUrlOnline` for conditionally disabling tests depending on the availability of the driver URL. If this URL is online, it will be used for remote tests, for instance, as follows:
  +
  +[source,java]
  +----
  +include::../../test/java/io/github/bonigarcia/seljup/test/remote/RemoteChromeTest.java[tags=snippet-in-doc,indent=0]
  +----
  +
  +The last annotation provided by Selenium-Jupiter for custom test disabling is `@EnabledIfDockerAvailable`, which disables test when a Docker engine is not installed in the machine running the test.
  +
  +
  +[source,java]
  +----
  +include::../../test/java/io/github/bonigarcia/seljup/test/docker/DockerChromeBetaTest.java[tags=snippet-in-doc,indent=0]
  +----
  +
   === Remote browsers
   Selenium-Jupiter also allows controlling remote browsers. These browsers are typically provided by a https://www.selenium.dev/documentation/en/grid/[Selenium Grid] infrastructure or a cloud provider (such as https://saucelabs.com/[Sauce Labs], https://www.lambdatest.com/[LambdaTest], etc.). To this aim, Selenium-Jupiter provides two annotations:
   
  
positive.code: include::../../test/java/io/github/bonigarcia/seljup/test/local/ChromeTest.java[tags=snippet-in-doc,indent=0]
  ----
  
  The possible `WebDriver` types we can specify as test parameters are `FirefoxDriver` (see https://github.com/bonigarcia/selenium-jupiter/blob/master/src/test/java/io/github/bonigarcia/seljup/test/local/FirefoxTest.java[example]), `EdgeDriver` (see https://github.com/bonigarcia/selenium-jupiter/blob/master/src/test/java/io/github/bonigarcia/seljup/test/local/EdgeTest.java[example]), `SafariDriver` (see https://github.com/bonigarcia/selenium-jupiter/blob/master/src/test/java/io/github/bonigarcia/seljup/test/local/SafariTest.java[example]), `OperaDriver` (see https://github.com/bonigarcia/selenium-jupiter/blob/master/src/test/java/io/github/bonigarcia/seljup/test/local/OperaTest.java[example]), `InternetExplorerDriver` (see https://github.com/bonigarcia/selenium-jupiter/blob/master/src/test/java/io/github/bonigarcia/seljup/test/local/IExplorerTest.java[example]), and `ChromiumDriver` (see https://github.com/bonigarcia/selenium-jupiter/blob/master/src/test/java/io/github/bonigarcia/seljup/test/local/ChromiumTest.java[example]).
  
  WARNING: Most of the features provided by Selenium-Jupiter can be used in conjunction with Selenium WebDriver versions 3 and 4. Nevertheless, some of them (e.g., the class `ChromiumDriver` to control Chromium browsers) are only available in Selenium WebDriver 4.
  
  
negative.code: ----
  include::../../test/java/io/github/bonigarcia/seljup/test/generic/GenericTest.java[tags=snippet-in-doc,indent=0]
  ----
  
  === Chrome DevTools
  As of version 4.1.0, Selenium-Jupiter allows to inject `DevTools` instances in tests. This object used to send commands using the Chrome DevTools Protocol (CDP) to the driver declared just before in the test. For instance, the parameter `devTools` in following test allows to handle CDP commands of the browser handled with `driver`:
  
  [source,java]
  ----
  include::../../test/java/io/github/bonigarcia/seljup/test/devtools/FullPageScreenshotTest.java[tags=snippet-in-doc,indent=0]
  ----
  
  
  === Single session
  By default, the instances provided by _Selenium-Jupiter_ (e.g. `ChromeDriver`, `FirefoxDriver`, etc.) are created _before each_ test, and are disposed _after each_ test. This default behavior can be changed using the class-level annotation `@SingleSession`. The instances provided in this case will be created _before all_ tests and are disposed _after all_ tests.
  