在我的一个测试用例中,我必须单击复选框
我试过了: -
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
答案 0 :(得分:0)
或者,您可以使用element(locator).click()
function setCheckBoxTo(locator, value){
var checkbox = element(locator);
checkbox.isChecked().then(function(selected){
if(selected !== value){
checkbox.click();
}
}
}
答案 1 :(得分:0)
通过删除自定义样式表单复选框解决了这个问题,在我的情况下,真正的复选框被复选框看起来像div,因为这个元素对于量角器是不可见的,这只发生在复选框的情况下,因为我也是使用select2.js选择框。