code: @Conditioned
      @Quand("J'ouvre une nouvelle fenêtre[\\.|\\?]")
      @When("I open a new window[\\.|\\?]")
      public void openNewWindow(List<GherkinStepCondition> conditions) throws FailureException {
          try {
              Set<String> initialWindows = Context.getDriver().getWindowHandles();
              String js = "window.open(\"\");";
              ((JavascriptExecutor) Context.getDriver()).executeScript(js);
              String newWindowHandle = Context.waitUntil(WindowManager.newWindowOpens(initialWindows));
              Context.getDriver().switchTo().window(newWindowHandle);
          } catch (Exception e) {
              new Result.Failure<>(e.getMessage(), Messages.getMessage(Messages.FAIL_MESSAGE_UNABLE_TO_OPEN_A_NEW_WINDOW), true, Context.getCallBack(Callbacks.RESTART_WEB_DRIVER));
          }
      }
docs: Open new window with conditions.
  Note: after this action, you need use "Given '.....' is opened."
  {@link com.github.noraui.browser.steps.BrowserSteps#openUrlIfDifferent(String, List) openUrlIfDifferent}
  
  @param conditions
  list of 'expected' values condition and 'actual' values ({@link com.github.noraui.gherkin.GherkinStepCondition}).
  @throws FailureException
  if the scenario encounters a functional error