簡體   English   中英

如何使用Rails 3 Rspec和Capybara訪問Selenium 2的默認webdriver?

[英]How can I access the default webdriver for Selenium 2 with Rails 3 Rspec and Capybara?

我一直在嘗試實施Selenium webdriver幾天來進行我的javascript測試。 我在我的Gemfile安裝並包含了gem selenium-webdriver 通過在Rspec測試中添加, js: true來傳遞一些簡單的測試。

沒有其他必要:運行測試時,Firefox窗口打開文件中前面指定的當前頁面,其中包含Capybara visit path("/news/#{news_item.id}") ,然后單擊一個按鈕,顯示一個表單這是隱藏的,字段被填充,按下提交按鈕,沒問題。 測試通過,瀏覽器關閉。

推進到更復雜的測試需要我在webdriver上調用方法,但我不知道如何訪問它,因為我沒有明確創建一個。 但是,如果我想創建自己的driver = Selenium::WebDriver.for :firefox但這會導致第二個瀏覽器實例打開,而且它完全是空白而不是打開Capybara導航到的頁面。

我的問題是:如何訪問正在使用的默認webdriver,以便我可以調用諸如empty_stars = driver.find_element(:class, "empty-stars-container")driver.action.move_to(empty_stars).perform

您可以使用以下方式訪問Capybara中的webdriver:

page.driver.browser

所以你想做的事情如下:

empty_stars = page.driver.browser.find_element(:class, "empty-stars-container")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM