I would like to use Fluent Hold, to wait for text to load in a certain field, after a click on the "load" button. But the method loadLoad (), is not acting, selenium goes to the next method.
public void carregarPlaca() throws InterruptedException {
try{
logger.info("Aguardar carregar dados da placa");
long tinicial =System.currentTimeMillis();
System.out.println("milisegundo tempo inicial carregar placa: " + tinicial);
System.out.println("Segundos tempo inicial carregar placa: " + (tinicial)/1000.0+" segundos");
WebElement ultimoKm = driver.findElement(By.xpath("//*[@id='customfield_23430']"));
FluentWait<WebElement> wait = new FluentWait<WebElement>(ultimoKm);
wait.withTimeout(2000, TimeUnit.MILLISECONDS);
wait.pollingEvery(5, TimeUnit.MILLISECONDS);
wait.ignoring(NoSuchElementException.class);
Function<WebElement, Boolean> f = new Function<WebElement, Boolean>() {
public Boolean apply(WebElement driver) {
logger.info("Carregar dados da placa com sucesso");
if (ultimoKm.getText().length() > 0) {
return true;
}
return false;
}
};
}catch (Exception e) {
logger.error("espera ultimo km com erro");
log.setLog("espera ultimo km com erro");
}
}
public void criarCac2() throws InterruptedException {
try{
logger.info("inserir KM attual = Soma do último km");
if(driver.findElement(By.xpath("//*[@id='customfield_23430']")).isDisplayed()) {
WebElement ultimokm = driver.findElement((By.xpath("//*[@id='customfield_23430']")));
String getultimokmtext = ultimokm.getAttribute("value");// captura dados no campo
soma = Integer.parseInt(getultimokmtext) + 1000;//Somar o último km inserir no campo km atual
//inserir soma
WebElement kmatual = driver.findElement(By.xpath("//*[@id='customfield_23430']"));
kmatual.clear();
kmatual.sendKeys(String.valueOf(soma));// converte soma em string e insere no campo
logger.info("soma de km inserido");
}else{
logger.error("campo último km não presente segundos");
log.setLog("campo último km não presentesegundos");
}
try{
logger.info("inserir condutor");
driver.findElement(By.id("customfield_17201")).sendKeys("03229929900");
driver.findElement(By.id("customfield_17203")).click();
driver.findElement(By.id("issue-create-submit")).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.alertIsPresent());
driver.switchTo().alert().accept(); // fechar alerta de cac criado
logger.info("alerta inserir cac");
if(driver.findElement(By.xpath("//*[@id='dashboard-content']")).isDisplayed()) {
logger.info("Cac criado com sucesso");
}else{
logger.error("erro ao efetuar login no jira cac.");
log.setLog("erro ao efetuar login no jira cac.");
}
}catch (Exception e) {
logger.error("campo último km não presente em 30 segundos");
log.setLog("campo último km não presente em 30 segundos");
}
}catch (Exception e) {
logger.error("campo último km não presente em 30 segundos");
log.setLog("campo último km não presente em 30 segundos");
}
}