2009-08-10 94 views
0

我正在使用Web-based和Cucumber的Selenium-client gem來測試rails項目。我已經很像這裏描述的黃瓜設置:http://wiki.github.com/aslakhellesoy/cucumber/setting-up-selenium使用硒客戶端gem進行文件上傳

我的問題是,硒被阻止執行文件上傳。理想情況下,我希望能夠複製webrat的'attach_file'方法。我試圖通過使用selenium-client的'type'方法來輸入所需文件的路徑來避免這個問題,但是這似乎失敗了。

有沒有人有使用硒客戶端(即不是普通的硒寶石)解決方案的消化?

回答

0

我終於想通了這一點。

你需要使用firefox和chrome後端,並且你需要指定一個絕對的文件路徑。

我最終創建了一個輔助模塊來指定文件路徑,以及一個包含測試內容的「fixtures」文件夾。這是我想出的解決方案的要點:http://gist.github.com/214185

因此,完全可以複製Webrat的attach_file方法!

1

正常的硒不能做到這一點,因爲瀏覽器安全防止JavaScript寫入輸入=文件元素。這是一項安全功能,因此如果您訪問被黑客入侵的網站,您的密碼文件不會上傳給黑客。

http://jira.openqa.org/browse/SEL-63有細節