如何在量角器中执行 Control+Click 多 select 选项?

How to perform Control+Click on a multi-select option in protractor?

我正在尝试单击多 select 框中的多个 select 离子。但我无法执行相同的操作。

到目前为止我尝试了什么:

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();

此解决方案基于 ,但会引发错误:unknown error: at least an element or offset should be set。它还会在调用点击事件时在 browser.pause() 日志中显示 Promise rejection was handled asynchronously

如有任何帮助,我们将不胜感激!

我已经设法解决了这个问题。 出于某种原因,我使用 select 选项的方法不起作用。所以我修改了代码,以不同的方式使用基于 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();

现在一切正常。