拨打"点击()"在量角器上复选框失败

时间:2016-10-19 11:40:37

标签: javascript protractor end-to-end

在我的一个测试用例中,我必须单击复选框

我试过了: -

var cb  = element(by.css('#port'+text));
cb.click() // failed 

browser.actions().mouseMove(cb).click().perform();

是否有人遇到过此类问题,还有其他解决办法吗

已更新 - 尝试使用硬编码值:

模板

   <input type="checkbox" style="min-width:50px;" id="port32201295-a833-45ea-8268-7c4bc0aa9887" ng-checked="port.checked" ng-disabled="port.disabled" ng-click="getSelectedPorts($event,port); 
submenu.network.minimizeMaximizePops($event)">

JS

    var cb  = element(by.css('#port32201295-a833-45ea-8268-7c4bc0aa9887'));
        cb.click() // failed(element is not visible | but element is visible have height & width) 
browser.actions().mouseMove(cb).click().perform();// nothing happens

2 个答案:

答案 0 :(得分:0)

或者,您可以使用element(locator).click()

单击复选框
function setCheckBoxTo(locator, value){
    var checkbox = element(locator);
    checkbox.isChecked().then(function(selected){
        if(selected !== value){
            checkbox.click();
        }
    }
}

参考here author

答案 1 :(得分:0)

通过删除自定义样式表单复选框解决了这个问题,在我的情况下,真正的复选框被复选框看起来像div,因为这个元素对于量角器是不可见的,这只发生在复选框的情况下,因为我也是使用select2.js选择框。