3

我有一些div看起来像这样

<div class="someClassyStuff" on-tap="foo(param)"> Text </div>

在量角器中,我们搜索并找到div元素,检查文本是否符合我们的期望,然后调用click()该元素。该测试在 Chrome 中运行良好,但在 IE 中好像没有点击发生.. 打破了测试。

IE 11 支持on-tap吗?

我试过改成ng-click="foo(param)"但没有效果。

4

4 回答 4

4

我用这些功能解决了这个问题:

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
    }
};

在Software Quality Assurance & Testing找到解决方案。

于 2015-11-04T13:41:53.670 回答
2

使用自动化 IE 浏览器,它总是很特别。尝试单击“通过 javascript”链接:

var elm = element(by.css("div.someClassyStuff"));
browser.executeScript("arguments[0].click();", elm.getWebElement());
于 2015-09-02T03:24:09.887 回答
1

我遇到过这样的问题,点击不会在 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");
于 2015-09-10T21:11:19.123 回答
1

我在 IE 中遇到了类似的问题,没有元素可以接收到点击。原因是我将Windows 中的全局缩放设置为 >100%(桌面 > rclick > 显示设置)。显然这会导致 IEDriver 点击错误的坐标。

该问题未指定是否可以单击其他元素,但这可能是其他有类似问题的人的答案。

于 2016-06-16T14:43:47.923 回答