【问题标题】:Element is clickable just sometimes元素有时是可点击的
【发布时间】:2018-05-24 13:16:12
【问题描述】:

我正在为标准表格编写测试。我有一个文本框、日期、选择.. 各种输入,最后还有一个重置和过滤按钮。在日期字段中,默认情况下总是有一个日期。我需要按重置按钮以清除所有字段,然后按过滤按钮。这样,所有“必填字段”消息都会显示出来,以便我可以测试它们。我在按下重置按钮时遇到了一些问题,所以我尝试了这段代码:

@When("I push Reset Button$")
public void pushReset(){    
wait.until(ExpectedConditions.elementToBeClickable(formOne.resetButton)).click();

这是我找到元素的方法:

@FindBy(how = How.NAME, using = "reset_rules")
public WebElement resetButton;

以及用于定位它的外部 HTML

<input name="reset_rules" value="Reset" class="button critical reset none" 
style="margin-right: 10px;" type="reset">

所以我启动了测试,有时按下重置按钮并通过所有步骤。如果我再次启动它,则尚未按下重置按钮。然后我再次启动它,它可以工作...由于 DOM、CSS、HTML 或类似内容没有变化,我不知道发生了什么

有什么帮助吗?提前致谢

【问题讨论】:

  • 用相关的HTML更新问题
  • 你遇到了什么错误?

标签: java selenium testing junit cucumber


【解决方案1】:

有几点需要考虑。

打开网络浏览器并检查 //*[@name='reset_rules'] 只返回 1 个匹配项。

此外,在大多数情况下,当某些事情以这种不稳定的方式运行时,在尝试执行操作之前会有一些糟糕的等待逻辑。在尝试单击重置按钮之前,您应该确保页面已完全加载完毕。

【讨论】:

    猜你喜欢
    • 2011-12-29
    • 2018-07-13
    • 2018-01-24
    • 2018-10-26
    • 2019-01-26
    • 2021-04-07
    • 2016-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多