2009-08-10 9 views
0

Ich verwende den Selen-Client-Edelstein mit Webrat und Gurke, um ein Rails-Projekt zu testen. Ich habe Gurke so eingerichtet, wie hier beschrieben: http://wiki.github.com/aslakhellesoy/cucumber/setting-up-seleniumDatei-Uploads mit dem Selen-Client-Juwel

Mein Problem ist, dass Selenium Dateiuploads verhindert wird. Idealerweise möchte ich die "attach_file" -Methode von webrat replizieren können. Ich habe versucht, das Problem auszuweichen, indem ich die Methode 'selen-client' 'type' verwendete, um den Pfad zur erforderlichen Datei einzugeben, aber das scheint zu scheitern.

Hat jemand eine Suggestion für eine Workaround mit Selen-Client (d. H. Nicht die regelmäßige Selen-Edelstein)?

Antwort

0

ich das endlich herausgefunden.

Sie müssen Firefox mit dem Chrome-Backend verwenden, und Sie müssen einen absoluten Dateipfad angeben.

Ich habe am Ende ein Helfer-Modul erstellt, um den Dateipfad anzugeben, und einen Ordner "Fixtures" mit Testinhalt. Hier ist ein Kern der Lösung, die ich gefunden habe: http://gist.github.com/214185

Daher ist es absolut möglich, Webrats attach_file Methode zu replizieren!

1

Das normale Selen kann dies nicht tun, weil die Browser-Sicherheit verhindert, dass Javascript in input = Dateielemente schreibt. Dies ist eine Sicherheitsfunktion, damit Ihre Passwortdatei nicht zu Hackern hochgeladen wird, wenn Sie auf eine gehackte Website gehen.

http://jira.openqa.org/browse/SEL-63 hat die Details

Verwandte Themen