自动化测试可在本地进行,但由于未点击

时间:2019-04-16 15:02:28

标签: ruby selenium-webdriver capybara

创建了一个在本地通过的测试用例,然后在浏览器堆栈中运行时失败。根本原因是未单击元素。当我在本地运行此元素时,总是单击该元素。使用capybara,rspec和ruby编写测试。测试失败的原因是下一步是单击一个元素。由于从不单击下拉菜单,因此找不到元素,它位于下拉菜单中。

这是错误的图片

enter image description here

我尝试了几种不同的单击方法,这些方法可以在本地使用,但无法解决问题。在Mojave 73版OSX Chrome上运行。

我尝试过的一些代码:

  def language_dropdown
    find('div', id:'user_locale_chzn').click
  end
  def language_dropdown
    within(:css, "div#user_locale_chzn") do
      find('a', class: 'chzn-single').trigger(:click)
    end
  end
  def language_dropdown
    within(:css, "div#user_locale_chzn") do
      locale = find('a', class: 'chzn-single')
      execute_script("arguments[0].click();", locale)
    end
  end

我希望单击语言下拉菜单以扩展选项,以便测试可以继续运行,但这仅在本地发生,并且再次在浏览器堆栈上不起作用。

0 个答案:

没有答案