Selenium: открыть узлы jstree, используя имя узла в качестве строки - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь автоматизировать некоторый тест, чтобы открыть Jstree Nodes, используя имя Node. Я бы хотел, чтобы он щелкал по стрелке слева от узла, вместо того, чтобы дважды щелкнуть сам узел.Вот код

public void abrirSistema(String node) {
    Boolean isPresent = driver.findElements(By.xpath("//*[contains(text(),'" + node + "')]")).size() > 0;
    if (isPresent) {
        System.out.println("System está abierto");
    } else {
        System.out.println("Hay que abrir el sistema");
        WebElement system = driver.findElement(By.xpath("//*[contains(text(),'" + node + "')]"));
        WebElement parent = system.findElement(By.xpath(".."));
        String parentId = parent.getAttribute("id");
        WebElement flecha = driver.findElement(By.xpath("//*[@id=\"" + parentId + "\"]/i"));
        // WebElement arrow = parent.findElement(By.className("jstree-icon"));
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        js.executeScript("arguments[0].scrollIntoView(true);", arrow);
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        wait.until(ExpectedConditions.visibilityOf(flecha));
        wait.until(ExpectedConditions.elementToBeClickable(flecha)).click();
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    try {
        Thread.sleep(5000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

Таким образом, в основном я определяю узел по имени, вызываю динамическое изменение элементов в дереве, затем выбираю стрелку и щелкаю по ней.Дело в том, что иногда код работает, иногда нет, и я не могу понять, почему.Я проверяю, что страница полностью загружена, прежде чем пытаться запустить ее, и когда я запускаю сценарий, шаг всегда зеленый, хотя узел не открыт. Также я хотел бы сообщить, что этот код всегда запускается после открытия корневого узла., который работает правильно.На всякий случай

Надеюсь, кто-нибудь может мне помочь.Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...