2017-11-23 20 views
0

다중 선택 상자에서 여러 선택 항목을 클릭하려고합니다. 그러나 나는 같은 것을 수행 할 수 없다.제어 방법 + 각도기에서 다중 선택 옵션을 클릭하십시오.

는 내가 지금까지 시도하는 것 :

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이 표시됩니다.

도움이 될 것입니다.

답변

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

이제 모든 것이 정상적으로 작동합니다.