Selenium webDriver для PrimeFaces, компонент pickList.
https://www.primefaces.org/showcase/ui/data/pickList.xhtml
Попытка переместить элемент из списка источников в список целей:
Actions actions = new Actions(driver);
actions.doubleClick(sourceElement).build().perform();
Также пробовал:
sourceElement.click(); // select
addButtonElement.click(); // move to right
Пробовал 100 раз. Около 50 раз работал. Остальные 50 раз: элемент перемещался в целевой список, затем он возвращался в исходный список.
Я подозреваю, что это может быть связано с расой. Сам виджет pickList может быть в процессе инициализации, например, событий привязки. Посмотрел код JavaScript pickList, дождался завершения его init (). То есть проверьте, были ли события привязаны к кнопкам (добавить, удалить, ...). например,
ExpectedCondition<Boolean> condition = new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver driver) {
JavascriptExecutor executor = (JavascriptExecutor)driver;
return (Boolean)executor.executeScript(
"return jQuery._data(arguments[0], 'events')['click'] != undefined;", addButtonElement);
}
};
wait.until(condition);
Actions actions = new Actions(driver);
actions.doubleClick(sourceElement).build().perform();
Но это не помогло.
Код виджета PickList:
https://searchcode.com/codesearch/view/2686074/