我试图点击多选框中的多个选项。但我无法执行相同的操作。
到目前为止我尝试了什么:
let input = $('input');
let option1 = input.all(by.cssContainingText('option','One'));
let option2 = input.all(by.cssContainingText('option','Two'));
option1.click();
browser.actions().mouseMove(option2).keyDown(protractor.Key.CONTROL).click().perform();
此解决方案基于this answer,但会引发错误:unknown error: at least an element or offset should be set
。在调用click事件时,它还会在browser.pause()日志中显示Promise rejection was handled asynchronously
。
任何帮助将不胜感激!
答案 0 :(得分:2)
我设法解决了这个问题。
由于某种原因,我用来选择选项的方法不起作用。所以我修改了代码以不同的方式使用基于element
的定位器。
let options = $$('multiselect-dropdown option');
options.get(0).click();
browser.actions()
.mouseMove(options.get(1))
.keyDown(protractor.Key.CONTROL)
.click()
.keyUp(protractor.Key.CONTROL)
.perform();
现在一切正常。