Ruby Seleniumの自動スクリプトで、ファイル参照ダイアログからファイルを選択する(つまり、自分のPCからファイルをアップロードする)方法を教えてください。欄を参照
Q
欄を参照
1
A
答えて
2
私は以前この問題に遭遇したと思います。
Rubyでセレンスクリプトを書くと、ブラウザのすべてのウィンドウを制御できます。しかし、ファイル選択ダイアログとファイルダウンロードダイアログは実際にはシステムウィンドウなので、セレンを使ってそれらを制御することはできません。
ただし、Windowsで実行されているテストでは、Win32OLE gem経由で制御できます。もちろん、MacやLinuxでこれらのテストを実行することはできません。
一般的にセレンのように、それは一種のハッキーです。あなたは限り、あなたは1とSelenium RCのを実行しているとして、これを行うことができます
require 'selenium'
require 'test/unit'
require 'win32ole'
class DownloadFileTest < Test::Unit::TestCase
def setup()
@wsh = WIN32OLE.new('Wscript.Shell')
end
def teardown
WIN32OLE.ole_free(@wsh) # yes, this is required *rolls eyes*
end
def test_download_file
# ...stuff that causes a download window to pop up...
@wsh.AppActivate("Opening")
sleep(2)
@wsh.SendKeys("{RIGHT}{ENTER}") # Hits ok button - file downloads
sleep(3)
# Use regular Ruby File methods to assert stuff on the file content
end
0
私はすべてのOLEのものをスキップし、単にフィールドへのパスを入力します:)
:しかし、ここでどのように動作するのです特権モードのあなたが最新の1.0ベータ2を使用している場合、これらはデフォルトで使用されます。
関連する問題
- 1. 参照欄にreferrerが発行されていればレール
- 2. Excelの表の欄を参照してINDIRECT()を避けてください。
- 3. 間接参照参照
- 4. Excel - 参照内の参照
- 5. C++の参照への参照を間接参照
- 6. C/C++での参照/参照解除
- 7. shared_pointerへの参照の参照カウント
- 8. HQLのnull参照オブジェクトの参照プロパティ
- 9. ポインタへの参照対参照渡し?
- 10. 参照渡しと参照渡し
- 11. Javascript参照カウントの円参照
- 12. ROW()参照内の動的セル参照
- 13. 一時的な参照の参照
- 14. テーブルと参照テーブルの参照
- 15. テンプレートオーバーロード(参照版と非参照版)
- 16. "参照"と "参照解除"の意味
- 17. 参照型を参照型以外の参照型に変換する
- 18. (参照)
- 19. 参照
- 20. 参照
- 21. 参照
- 22. ディレクトリtkinterを参照
- 23. Git - リモートリポジトリを参照
- 24. getElementByIdを参照エラー
- 25. 参照クラス型を
- 26. クロームXMLHttpRequestを参照
- 27. ファイルパスを参照Datagridview
- 28. 参照とauto_ptrを
- 29. 変数を参照
- 30. コンパイルエラー:static_castを参照
具体的にしてください – belgariontheking
ええ、私はあなたが何を求めているのか分かりません。 HTMLフォームのファイル入力フィールドのファイルを選択するためにクライアント側のスクリプトを実行しますか?ユーザー入力なしでHTTP経由で何かをアップロードしようとしていますか? – Welbog
エイプリルフール! *コーニッシュボタンを複数回押す* – TheTXI