失败:未知错误:元素在点(x,x)-角度/量角器处不可单击

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

本文关键字:量角器 -角度 单击 元素 错误 失败 未知      更新时间:2023-09-26

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

我不一致地遇到了上面的问题。我真的会运行测试,它会给我这个错误,不打开模态,然后我会再次运行它,它会打开模态,同样的测试会通过。然后再试一次,确保它再次失败。ETC-

测试的唯一问题似乎是浏览器/测试套件的问题,而不是实际代码的问题,这很烦人。为了清楚起见,我正在Chrome中测试这个。

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

如果不看到并运行实际测试,很难说,但以下是可以尝试的:

  • 最大化浏览器窗口:

    browser.driver.manage().window().maximize();
    
  • 禁用所有角度动画

  • 增加隐含的等待超时
  • 使用elementToBeClickable内置预期条件:

    var EC = protractor.ExpectedConditions;
    var elm = element(by.id("myelement"));
    browser.wait(EC.elementToBeClickable(elm), 5000);
    
  • 滚动到元素的视图,然后单击它:

    browser.executeScript("arguments[0].scrollIntoView();", elm.getWebElement());
    
  • 点击前移动到元素:

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

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