javascript - 失败 : unknown error: Element is not clickable at point (x, x) - Angular/Protractor

标签 javascript angularjs selenium automation protractor

我一直在研究我正在开发的 Angular 应用程序,使用 Protractor 为应用程序的所有不同部分测试 CRUD 功能。所有 CRUD 页面都有创建/编辑按钮,无论您在哪个页面上,这些按钮都会打开相同的模式,无论它们是在创建还是在编辑。

我经常遇到上述问题。我真的会运行测试,它会给我这个错误,但不会打开模态,然后我会再次运行它,它会打开模态,同样的测试也会通过。然后再次尝试确保它再次失败。等

您的测试的唯一问题似乎是浏览器/测试套件的问题,而不是实际代码的问题,这很烦人。需要说明的是,我正在 Chrome 中对此进行测试。

处理此类问题的方式是什么,问题是通过和失败的不一致?我不清楚到底需要修复什么设置。

最佳答案

如果没有看到并运行您的实际测试很难说,但这里有一些事情可以尝试:

  • 最大化浏览器窗口:

    browser.driver.manage().window().maximize();
    
  • disable all angular animations

  • 增加implicit wait timeout
  • 使用 elementToBeClickable内置预期条件:

    var EC = protractor.ExpectedConditions;
    var elm = element(by.id("myelement"));
    
    browser.wait(EC.elementToBeClickable(elm), 5000);
    
  • scroll into view单击元素之前的元素:

    browser.executeScript("arguments[0].scrollIntoView();", elm.getWebElement());
    
  • move to element点击前:

    browser.actions().mouseMove(elm).click(elm).perform();
    
  • 点击通过javascript:

    browser.executeScript("arguments[0].click();", elm.getWebElement());
    

关于javascript - 失败 : unknown error: Element is not clickable at point (x, x) - Angular/Protractor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34446230/

相关文章:

javascript - 添加两个json对象并排序

javascript - NodeJs csv 模块 - 暂停和恢复

c# - 在 .NET 服务器上压缩/解压缩在客户端上使用 lz-string.js 编码的字符串

javascript - Angularjs:如何删除动态表行,但不从数组中删除

python - 如何单击父元素

javascript - 彼此靠近放置可调整大小的圆圈

javascript - 如何在 Angular 模板中包含外部javascript?

javascript - 如何检查 AngularJS 模板 HTML 中的数字

java - 在selenium中使用javascript监听AJAX请求

javascript - Selenium Webdriver 执行由于 javascript 等待条件而卡住