【问题标题】:Testcafe can see button but not click on itTestcafe 可以看到按钮但不能点击它
【发布时间】:2020-07-31 03:16:03
【问题描述】:

在 testcafe 测试中,如何在不使用 ClientFunctiont.eval 的情况下单击清晰可单击的元素(使用 t.debug() 我可以单击该元素)并且可见 - 这些“解决方法" 在 testcafe 的 github 问题中推荐的问题不起作用。

一些额外的注意事项:

  • 我正在测试的代码是 Angular 1.7。
  • Selector 被验证为正确(我尝试了各种类型的选择器)
  • testcafe 版本 1.8.4
  • 我在选择和点击之前和之后尝试了各种t.wait
  • 我已尝试更改元素类型(<button><div> 等)

【问题讨论】:

  • 我也降级到 1.7.0(一些 gh 问题表明选择器问题从 1.7.1 开始),但这没有帮助。
  • 能否请您提供您网页的网址和您的测试代码以进行检查?或者您能否创建一个重现问题的简单示例?
  • 没有。我没有发布我的专有代码。从 1.7.1 到 1.8.2 有很多涉及选择器和点击的 testcafe 问题。
  • 任何 Angular 1.7 按钮都足够了:表单提交按钮和附加了 ng-click 动作的按钮
  • 由于无法发布代码,能否发布示例?即元素的外观,以及您尝试过的 testcafe 操作。这将有助于提供更全面的图片,因为我们看不到实际的代码

标签: javascript angularjs testing automated-tests testcafe


【解决方案1】:

在点击之前尝试等待元素可见

await element.with({ visibilityCheck: true }).with({timeout: 10000});

【讨论】:

【解决方案2】:

Here 是一些不可点击元素的典型问题,我知道该链接是针对 Selenium 问题的,但无论使用何种技术,都可以使用一些解决方案。

如果您已经尝试过各种等待可见/可点击的解决方案,那么您可能要检查的下一件事是是否有多个具有相同 id 的元素,其中一个是不可见的,因此 TestCafe 无法唯一识别正确的元素。在这种情况下,您需要改进定位器。

要考虑的另一件事是元素可能不在视口中(未调试时)。在这种情况下,请尝试更改窗口大小(或最大化)或移动到元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 2021-05-10
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多