Niepotrzebnie otwiera się druga przeglądarka

0

Problem wystepuje w momencie użycia metody, nie wiem czemu otwiera druga przegladarke.

package pl.testerOprogramowania;

import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.FluentWait;
import org.testng.Assert;
import org.testng.annotations.Ignore;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
import org.testng.asserts.SoftAssert;

import java.time.Duration;
import java.util.List;

@Listeners(value = {SampleTestListener.class})
public class FirstTest extends BaseTest {


    @Test
    public void firstTest() {
        ChromeOptions options = new ChromeOptions();
        options.setBinary("D:\\programiki\\chrome pod selenium\\chrome-win\\chrome.exe");
        WebDriver driver = new ChromeDriver(options);
        driver.get("https://testeroprogramowania.github.io/selenium/wait2.html");

        driver.findElement(By.id("clickOnMe")).click();
        waitForElementToExist(By.cssSelector("p"));

        WebElement para = driver.findElement(By.cssSelector("p"));

        SoftAssert softAssert = new SoftAssert();

        Assert.assertEquals(para.isDisplayed(), true);
        Assert.assertTrue(para.isDisplayed(), "Element is not displayed");
        Assert.assertTrue(para.getText().startsWith("Dopiero"));
        Assert.assertFalse(para.getText().startsWith("Pojawilem"));
        Assert.assertEquals(para.getText(), "Dopiero sie pojawilem!");
//        Assert.assertEquals(para.getText(), "Dopiero", "Teksty są różne");
        driver.quit();
//      checking some asserts stop/ not stop
        softAssert.assertAll();
    }

    @Test @Ignore
    public void secondTest() {
        ChromeOptions options = new ChromeOptions();
        options.setBinary("D:\\programiki\\chrome pod selenium\\chrome-win\\chrome.exe");
        WebDriver driver = new ChromeDriver(options);
//        driver.get("https://testeroprogramowania.github.io/selenium/wait2.html");

        driver.findElement(By.id("clickOnMe")).click();
        waitForElementToExist(By.cssSelector("p"));

        String paraText = driver.findElement(By.cssSelector("p")).getText();
        Assert.assertEquals(paraText, "Dopiero się pojawiłem!");

        driver.quit();
    }

    public void waitForElementToExist (By locator) {
        ChromeOptions options = new ChromeOptions();
        options.setBinary("D:\\programiki\\chrome pod selenium\\chrome-win\\chrome.exe");
        WebDriver driver = new ChromeDriver(options);
//        driver.get("https://testeroprogramowania.github.io/selenium/wait2.html");

        FluentWait<WebDriver> wait = new FluentWait<>(driver);
        wait.ignoring(NoSuchElementException.class);
        wait.withTimeout(Duration.ofSeconds(10));
        wait.pollingEvery(Duration.ofSeconds(1));

                wait.until(driver1 ->  {
                List<WebElement> elements = driver.findElements(locator);
                if (elements.size()>0) {
                    System.out.println("Element jest na stronie");
                    return true;
                } else {
                    System.out.println("Elementu nie ma na stronie");
                    return false;
                }
            });

        }

    }

4

Selenium zajmowałem się już dawno i wszystko wyparłem, ale na oko to w metodzie waitForElementToExist :
otwierasz tu:

 WebDriver driver = new ChromeDriver(options);

Przekaż driver jako argument.

0

Działa, podziekował.

WebDriver driver = DriverFactory.getDriver();

    public static WebDriver getDriver() {
        if (driver==null) {
            ChromeOptions options = new ChromeOptions();
            options.setBinary("D:\\programiki\\chrome pod selenium\\chrome-win\\chrome.exe");
            driver = new ChromeDriver(options);
        }
        return driver;
    }

// close

1 użytkowników online, w tym zalogowanych: 0, gości: 1