Untitled
unknown
plain_text
2 years ago
2.0 kB
7
Indexable
package webdriver; import java.time.Duration; import java.util.NoSuchElementException; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.FluentWait; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import com.google.common.base.Function; public class Topic_33_Fluent_Wait { WebDriver driver; String projectPath = System.getProperty("user.dir"); String osName = System.getProperty("os.name"); FluentWait<WebDriver> fluentDriver; long allTime = 15; long pollingTime = 100; @BeforeClass public void beforeClass() { if (osName.contains("Windows")) { System.setProperty("webdriver.gecko.driver", projectPath + "\\browserDrivers\\geckodriver.exe"); } else { System.setProperty("webdriver.gecko.driver", projectPath + "/browserDrivers/geckodriver"); } driver = new FirefoxDriver(); driver.manage().window().maximize(); } @Test public void TC_01_Fluent() { driver.get("https://automationfc.github.io/dynamic-loading/"); findElement("//div[@id='start']/button").click(); Assert.assertEquals(findElement("//div[@id='finish']/h4").getText(), "Hello World!"); } public WebElement findElement(String xpathLocator) { fluentDriver = new FluentWait<WebDriver>(driver); // set tổng thời gian và tần số fluentDriver.withTimeout(Duration.ofSeconds(allTime)) .pollingEvery(Duration.ofMillis(pollingTime)) .ignoring(NoSuchElementException.class); // apply điều kiện return fluentDriver.until(new Function<WebDriver, WebElement>() { @Override public WebElement apply(WebDriver driver) { return driver.findElement(By.xpath(xpathLocator)); } }); } @AfterClass public void afterClass() { driver.quit(); } }
Editor is loading...