Mein System:Probleme eine Datei in Watir mit file_field Hochladen
Windows-10 Pro 64-Bit-
Rubin 2.1.9p490 (2016.03.30 Revision 54437) [x64-mingw32]
FireFox 47.0.1
, hier zu starten ist der Code, den ich mit zu tun habe:
Hierist mein watir Testcode: identifizieren und bestätigen Datei gültig ist
local_file = '/Users/tom.feodoroff/Desktop/Charlie_Snoopy.jpg'
File.exists? local_file
raise "error" unless File.exists? local_file
Ändern Sie den Stil-Display, damit ich mit Steuerung in Wechselwirkung treten kann
element = BROWSER.input(:type => 'file')
puts element.attribute_value('style') #display: none;
script = "return arguments[0].style = 'display: inline'"
BROWSER.execute_script(script, element)
puts element.attribute_value('style') #display: inline;
Verwenden Syntax vorgeschlagen Datei Anwendung hinzufügen
BROWSER.file_field(:type => 'file').set(local_file)
Dies erzeugt keine Fehler, aber es hängt die Datei auch nicht an, sodass meine Submit-Schaltfläche aktiv wird. Benötige ich eine andere Version von Ruby (Watir), um diese Arbeit zu erledigen oder gibt es etwas, das mir fehlt?
Versuchen Sie, den Laufwerksbuchstaben in 'local_file' anzugeben (z. B. C :) – orde
Der Code, der die Submit-Schaltfläche aktiviert, wird möglicherweise nicht auf Änderungen im Dateifeld warten. Die Schaltfläche wird wahrscheinlich in dem Code aktiviert, der die abgelegte Datei verarbeitet. In diesem Fall müssten Sie diese ebenfalls finden und manuell auslösen. –
Danke @Orde, ich habe das Laufwerk zum Dateinamen hinzugefügt: irb (main): 001: 0> local_file = 'C: /Users/tom.feodoroff/Desktop/Charlie_Snoopy.jpg' => "C:/Benutzer /tom.feodoroff/Desktop/Charlie_Snoopy.jpg " irb (main): 002: 0> Datei.exists? local_file => true aber das hat mein Problem nicht gelöst :( –