2
我從默認的Rack驅動程序支持的Capybara過渡到由Poltergeist支持的Capybara。用poltergeist和水豚創建帖子請求
由於令人沮喪的原因,我需要在加載頁面之前操作會話數據。但我無法弄清楚如何直接與機架駕駛員操縱的會議,所以我
Capybara.current_session.driver.submit :post, "/current_search", {:session => :data }
遺憾的是,騷靈driver
對象沒有submit
方法,如機架驅動程序了。
有三種可能性:
- 如何提交與騷靈/ phantomjs POST請求?(實現這似乎是最簡單的)
- 我該如何操作會話數據直接與poltergeist/phantomjs?
- 我可以重構代碼,以便直接操作會話數據不再需要。這將是耗時且不重要的。
PS:由於是在Ruby 1.8中,我們被困在Poltergeist v1.0.2
帶表單的頁面非常重javascript,而我實際測試的內容甚至不需要JavaScript。因此,對於每一次測試來說,它似乎都是一個巨大的無關設置,這很容易佔用測試運行時間的一半以上。 – chadoh
現在規格被註釋掉了。不久之後,我們正在使有問題的觀點接受GET參數;那麼這些測試將被重新添加。因爲你是完全正確的,我們只是以一種不可測的方式寫這篇文章。 – chadoh
@chadoh,我現在明白你的問題。是的,最好的解決方案是重構,但也許你可以嘗試解決方案[這裏](http://railsware.com/blog/2012/01/07/accessing-application-session-in-capybara/)現在。請記得在某處添加故事,以便在有空時儘快重構此故事。 –