我是新手测试自动化并使用带有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
答案 0 :(得分:0)
Capybara的主要用例是与HTML dom交互。点击链接可以像click_on "text of link"
但听起来你没有点击常规的HTML链接 - 而是试图与Java applet进行交互。 Capybara + Selenium不能(似乎)与小程序[1]互动。
然而同样thread建议调查这些可能提供解决方案的替代方案。
如果您想继续使用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