繁体   English   中英

如何使用Ruby调用定义的Capybara驱动程序的Selenium方法?

[英]How to call Selenium methods with defined Capybara driver using Ruby?

我在自动测试中使用Capybara作为驱动程序。 我将驱动程序定义为: Capybara.default_driver =:selenium但是不可能以通常的方式使用Selenium方法(例如: @ driver.find_element(:xpath,:: Login_button).send_keys(“MY_login”) )。 我在一些资源上看到可以使用构造调用Selenium方法: page.driver.browser例如: element = page.driver.browser.find_element(:id,ell) 但是出现错误,表示“ 页面 ”未定义方法。

问题是如何使用定义的Capybara驱动程序的Selenium方法?

可能有必要以另一种方式定义Capybara驱动程序,以便成功使用“ page.driver.browser ”构造? 请提供一些实例来查看全貌。

page只是Capybara DSL for Capybara.current_session的便捷方法。 如果您已将Capybara :: DSL纳入测试范围,则可以使用“page” - 请参阅https://github.com/jnicklas/capybara#using-capybara-with-testunit

如果您不想将Capybara DSL包含在测试中,您也可以使用

Capybara.current_session.driver.browser ....

虽然直接访问selenium方法只能在绝对必要的时候进行,并且没有交叉驱动方式来做你想要的Capybara提供的东西

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM