public void addition_isCorrect() throws MalformedURLException, InterruptedException {
File app = new File(".apk file path");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, “Android”);
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, “9”);
capabilities.setCapability(“deviceName”, “Samsung SM-G960U1”); //emulator-5554
capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
capabilities.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS, “true”);
// capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, “Appium”);
webDriver = new AppiumDriver(new URL(“http://127.0.0.1:4723/wd/hub”), capabilities);
}
public void mainTest( ) {
WebDriverWait wait = new WebDriverWait(webDriver, 10);
dropDownSelect = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(“clusterDropdown”)));
webDriver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
waitForElementPresent(By.id(“clusterDropdown”),10);
dropDownSelect = webDriver.findElement(By.id(“clusterDropdown”)); // //*[@id=“clusterDropdown”]
webElementList = webDriver.findElements(By.id(“clusterDropdown”));
System.out.println("clusterDropdown size : "+webElementList.size());
loginSettingsButton = webDriver.findElement(By.id(“loginSettingsButton”));
dropDownSelect.click();
Set<String> stringSet = webDriver.getWindowHandles();
System.out.println(“stringSet Size:”+stringSet.size());
}
private static void waitForElementPresent(final By by, int timeOutInSeconds) {
WebDriverWait wait = new WebDriverWait(webDriver, timeOutInSeconds);
wait.until(new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver d) {
return d.findElement(by).isDisplayed();
}
});
}
}
I am getting below error:
org.openqa.selenium.TimeoutException: Expected condition failed: waiting for visibility of element located by By.id: clusterDropdown (tried for 10 second(s) with 500 milliseconds interval)