Wie kann ich in einem Ruby Selenium-Automatisierungsskript eine Datei aus einem Dateisuchdialog auswählen (d. H. Eine Datei von meinem PC hochladen)?Feld durchsuchen
Antwort
Ich glaube, ich habe dieses Problem schon einmal erlebt.
Wenn Sie Selen Skripte in Ruby schreiben, können Sie alle Fenster des Browsers steuern. Aber der Dateiauswahldialog und der Dateidownloaddialog sind eigentlich Systemfenster, so dass Sie sie nicht über Selen steuern können.
Sie können sie jedoch über das Juwel Win32OLE für Tests unter Windows steuern. Aber natürlich können Sie diese Tests nicht auf Macs oder Linux ausführen.
Wie Selen im Allgemeinen ist es eine Art Hacky. Aber hier ist, wie es funktioniert:
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
ich alle OLE Sachen überspringen würde und geben Sie einfach den Pfad in das Gebiet :)
Sie dies tun können, solange Sie Selenium RC laufen mit einem der privilegierten Modi. Diese werden standardmäßig verwendet, wenn Sie auf der neuesten 1.0 Beta 2 sind.
- 1. So durchsuchen Sie ein bestimmtes Feld in einer Datenbank
- 2. Mehrere Tabellen mit MySQL durchsuchen
- 3. Durchsuchen von DataGridView
- 4. Durchsuchen eines Funktionsquellcodes
- 5. OpenText LiveLink Metadaten durchsuchen
- 6. Swift: Firebase Daten durchsuchen
- 7. Durchsuchen der .jdb-Ausgabe?
- 8. Datei durchsuchen in Android
- 9. Standort mit Geokit durchsuchen
- 10. Durchsuchen eines Binärbaums
- 11. MOSS Crawl-Kontoberechtigungen durchsuchen
- 12. Tags durchsuchen wie stackoverflow?
- 13. Durchsuchen eines HDF5-Datensatzes
- 14. Durchsuchen von Shards?
- 15. Durchsuchen einer verschachtelten Menge
- 16. durchsuchen Schlüsselwörter EntityFramework
- 17. Outlook Ordner Durchsuchen-Dialog?
- 18. Wie TFS Changesets durchsuchen?
- 19. file_field Durchsuchen button anpassen
- 20. Ordner durchsuchen mit Kontrollkästchen?
- 21. Wie die Formularfehler durchsuchen
- 22. Durchsuchen einer MySQL-Tabelle unter Verwendung von PHP für mehrere Felder in einem Auto-Vervollständigen-Feld
- 23. Dateien nach Maven durchsuchen Ordner in Eclipse
- 24. Text in JQuery-Daten programmatisch durchsuchen Tabelle
- 25. Durchsuchen des Google Play Stores
- 26. Durchsuchen der Mac OSX-Systemwörterbücher?
- 27. Durchsuchen einer Zeichenfolge in IE
- 28. Durchsuchen von Dateien in Eclipse
- 29. Eine Sammlung mit LINQ durchsuchen
- 30. Magento - Durchsuchen 4-Tier Kategorienbaum
Bitte präzisieren Sie – belgariontheking
Ja, ich habe keine Ahnung, was Sie fragen. Möchten Sie ein clientseitiges Skript ausführen, um eine Datei für ein Dateieingabefeld in einem HTML-Formular auszuwählen? Versuchen Sie etwas über HTTP ohne Benutzereingaben hochzuladen? – Welbog
Aprilscherze! * drückt den cornify Knopf mehrmals * – TheTXI