ruby capybara代码点击链接

时间:2014-03-17 11:56:10

标签: ruby selenium capybara capybara-webkit

我是新手测试自动化并使用带有capybara驱动程序的Ruby selenium

我想自动执行此page

在这里,我想点击applet中的文件菜单,但是我没有按照它进行操作

browser = Capybara.current_session.driver.browser
w=browser.find_element(:id,"editlive").style("width")

h=browser.find_element(:id,"editlive").style("height")
browser.action.move_by(w.to_i,h.to_i).click.perform 

1 个答案:

答案 0 :(得分:0)

Capybara的主要用例是与HTML dom交互。点击链接可以像click_on "text of link"

一样简单

但听起来你没有点击常规的HTML链接 - 而是试图与Java applet进行交互。 Capybara + Selenium不能(似乎)与小程序[1]互动。

然而同样thread建议调查这些可能提供解决方案的替代方案。

  • AutoIt + Selenium
  • Sikuli + Selenium
  • Fest

如果您想继续使用Capybara,move_to提及的内容是Capybara Mouse private API的一部分。他们建议不要使用它 - 但它可能是与非dom元素交互的唯一方法。

你可能有更好的运气使用" move_to"带偏移量 driver.mouse.move_to(element, H - x, W - y)其中x和y是任意数字,用于将光标移动到浏览器上的适当位置。

可能对您有所帮助的其他工具包括:firebug在浏览器中调试您的规范,Capybara.execute_script可以让您执行任意javascript,如果您需要获得非常低的级别。

[1] https://groups.google.com/forum/#!topic/selenium-users/0tgVaZog4UE