我有一些div
看起来像这样
<div class="someClassyStuff" on-tap="foo(param)"> Text </div>
在量角器中,我们搜索并找到div
元素,检查文本是否符合我们的期望,然后调用click()
该元素。该测试在 Chrome 中运行良好,但在 IE 中好像没有点击发生.. 打破了测试。
IE 11 支持on-tap
吗?
我试过改成ng-click="foo(param)"
但没有效果。
我有一些div
看起来像这样
<div class="someClassyStuff" on-tap="foo(param)"> Text </div>
在量角器中,我们搜索并找到div
元素,检查文本是否符合我们的期望,然后调用click()
该元素。该测试在 Chrome 中运行良好,但在 IE 中好像没有点击发生.. 打破了测试。
IE 11 支持on-tap
吗?
我试过改成ng-click="foo(param)"
但没有效果。
我用这些功能解决了这个问题:
exports.config = {
capabilities: {
'browserName': 'internet explorer',
'version': 11,
'nativeEvents': false,
'unexpectedAlertBehaviour': 'accept',
'ignoreProtectedModeSettings': true,
'enablePersistentHover': true,
'disable-popup-blocking': true
}
};
您可以在浏览器堆栈设置中使用相同的:
exports.config = {
capabilities: {
'browser' : 'ie',
'browserName': '',
'browser_version' : '11',
'os' : 'Windows',
'os_version' : '7',
'browserstack.user': 'XXX',
'browserstack.key': 'XXX',
'version': 11,
'nativeEvents': false,
'unexpectedAlertBehaviour': 'accept',
'ignoreProtectedModeSettings': true,
'enablePersistentHover': true,
'disable-popup-blocking': true
}
};
使用自动化 IE 浏览器,它总是很特别。尝试单击“通过 javascript”链接:
var elm = element(by.css("div.someClassyStuff"));
browser.executeScript("arguments[0].click();", elm.getWebElement());
我遇到过这样的问题,点击不会在 Firefox 中点击,但会在 chrome 中点击。解决方法是在 chrome 中进行初始单击后添加鼠标向下和鼠标向上操作。
browser.getCapabilities().then(function(cap){
element(by.css("div.someClassyStuff")).click();
if(cap.caps_.browserName == "ie"){
browser.actions().mouseDown().mouseUp().perform();
}
};
更新:
如果您还没有,您可以尝试的其他想法:
(双击)
element(by.css("div.someClassyStuff")).click().click();
我用棘手的东西点击的另一件事是使用预期的条件点击某物
// Wait for an element to be clickable then click it
global.waitAndClick = function(element, time, errMessage) {
if(typeof(time) ==='undefined') time = 10000;
var IsClickable = EC.elementToBeClickable(element);
browser.wait(IsClickable, time, errMessage);
return element.click();
};
waitAndClick(element(by.css("div.someClassyStuff")), 5000, "failed to click my elem");
我在 IE 中遇到了类似的问题,没有元素可以接收到点击。原因是我将Windows 中的全局缩放设置为 >100%(桌面 > rclick > 显示设置)。显然这会导致 IEDriver 点击错误的坐标。
该问题未指定是否可以单击其他元素,但这可能是其他有类似问题的人的答案。