Как запускать и переключаться между двумя браузерами (не вкладками) драйверы Chrome и Firefox в Selenium Java

#selenium #browser #webdriver

#селен #браузер #webdriver

Вопрос:

 @Test
    public void openWeb() throws IOException, InterruptedException {
        fis = new FileInputStream(System.getProperty("user.dir") "\resources\config.properties");
        property = new Properties();
        property.load(fis);
        
        WebElement UsernameField = driver.findElement(By.name(property.getProperty("username_fieldName")));
        WebElement PasswordField = driver.findElement(By.name(property.getProperty("password_fieldName")));
        WebElement SubmitButton = driver.findElement(By.xpath(property.getProperty("submit_ButtonXpath")));
        
        UsernameField.click();
        UsernameField.sendKeys("test");
        PasswordField.click();
        PasswordField.sendKeys("!TEST");
        
        SubmitButton.click();
        
        //Testcase TC_1.01 Verify the login of "Berater" with valid credentials
        WebElement Einladen = driver.findElement(By.className(property.getProperty("HomeScreen_EinladenClass")));
        boolean Homescreen = Einladen.isDisplayed();
        
        extentTest = extent.startTest("TC_1.01 - Verify the login of "Berater" with valid credentials");
        if(Homescreen == true) {
            extentTest.log(LogStatus.PASS, "Login successful for the Berater");
        }
        else {
            extentTest.log(LogStatus.FAIL, "Login Failed for the Berater, Please refer the Screenshot");
        }
        
        Thread.sleep(1000);
        Einladen.click();
        
        driver.findElement(By.xpath(property.getProperty("Einladung_LinkXpath"))).click();
        Thread.sleep(1000);
        
        driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL   "t");
        Thread.sleep(2000);
        Actions actions = new Actions(driver);
        actions.sendKeys(Keys.chord(Keys.LEFT_CONTROL, "v")).build().perform();
        Thread.sleep(2000);
        actions.sendKeys(Keys.ENTER);
        
        Thread.sleep(2000);
        
    }
  

Прежде всего, я вызываю здесь chrome driver и открываю ссылку в Chrome, теперь, после выполнения некоторых действий в Chrome driver, мне нужно открыть firefox и открыть отдельную ссылку, а также проверить синхронизацию между ними. Но я не знаю, как открыть два разных браузера и переключаться между ними.
Пожалуйста, помогите.

Комментарии:

1. Вам понадобятся два экземпляра WebDriver WebDriver driver1 = ... , и WebDriver driver2 = ... в вашем коде я не вижу никакого объявления WebDriver. Откуда driver берется?

2. В @BeforeMethod

3. В: @BeforeMethod driver = new ChromeDriver(); //WebDriver driver = new ChromeDriver(); driver.manage().window().maximize();

4. В вашем @BeforeMethod добавлении WebDriver driver2 = new FirefoxDriver(); с соответствующей настройкой. В @Test вы можете использовать driver2 .

5. Под соответствующей настройкой вы подразумеваете определение нового драйвера webdriver2 для firefox, верно? А затем в @Test я могу использовать их оба, используя WindowHandles ()?