0

Railsプロジェクトをテストするために、WebratとCucumberでselenium-client gemを使用しています。ここで説明されているように、Cucumber をほとんどセットアップしました: https://github.com/cucumber/cucumber/wiki/Setting-up-Selenium

私の問題は、Selenium がファイルのアップロードを実行できないことです。理想的には、webrat の「attach_file」メソッドを複製できるようにしたいと考えています。selenium-client の「type」メソッドを使用して必要なファイルへのパスを入力することで問題を回避しようとしましたが、これは失敗するようです。

selenium-client (つまり、通常の Selenium gem ではない) を使用した回避策を提案する人はいますか?

4

2 に答える 2

1

通常のセレンではこれができません。ブラウザーのセキュリティにより、javascript が input=file 要素に書き込むことができないためです。これは、ハッキングされたサイトにアクセスした場合にパスワード ファイルがハッカーにアップロードされないようにするためのセキュリティ機能です。

http://jira.openqa.org/browse/SEL-63に詳細があります

于 2009-08-10T13:06:19.130 に答える
0

私はついにこれを理解しました。

Chrome バックエンドで firefox を使用する必要があり、絶対ファイルパスを指定する必要があります。

最終的に、ファイルパスを指定するヘルパー モジュールと、テスト コンテンツを含む "fixtures" フォルダーを作成しました。私が思いついたソリューションの要点は次のとおりです。http://gist.github.com/214185

したがって、Webrat の attach_file メソッドを複製することは完全に可能です!

于 2009-11-04T17:55:25.947 に答える