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;
}
});
}
}