【问题标题】:How to perform Control+Click on a multi-select option in protractor?如何在量角器中执行 Control+单击多选选项?
【发布时间】:2017-11-23 07:51:33
【问题描述】:

我正在尝试单击多选框中的多项选择。但我无法执行相同的操作。

到目前为止我所尝试的:

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

任何帮助将不胜感激!

【问题讨论】:

    标签: angular typescript testing protractor end-to-end


    【解决方案1】:

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

    现在一切正常。

    【讨论】:

      猜你喜欢
      • 2014-07-08
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 2021-03-13
      相关资源
      最近更新 更多