Selenium webDriver for PrimeFaces pickList组件

时间:2019-05-18 01:58:49

标签: selenium primefaces webdriver picklist

Selenium webDriver for 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小部件本身可能正在初始化自身,例如绑定事件。查看了pickList javascript代码,等待其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/

0 个答案:

没有答案