Waiting Fluent method does not work

0

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

}
    
asked by anonymous 21.09.2018 / 15:37

0 answers