Selenium, PHPUnit und AttachFile ()

  • Ich führe derzeit Selenium-Befehle über PHPUnit auf einem Remote-Server aus. Ich bin auf ein Problem gestoßen, bei dem ich versuche, ein Bild in ein Eingabeformular hochzuladen.

    In meiner PHPUnit habe ich den Befehl

     $this->attachFile( 'file', 'file://test.png' );
     

    Mein Selenium-Server gibt einen Fehler zurück.

     PHPUnit_Framework_Exception: Response from Selenium RC server for testComplete().
    java.lang.RuntimeException: Output already exists: /tmp/selenium2070373138020433468upload.
     

    Meine test.png-Datei befindet sich derzeit nur in dem Ordner, in dem ich bin Ausführen meiner .php-Unit-Tests von.

    Wie kann ich eine Datei über PHPUnit und Selenium richtig hochladen und dafür sorgen, dass keine Ausnahme ausgelöst wird?

    24 August 2011
    Dan Chan
3 answers
  • Ich hatte das gleiche Problem. Dann fand ich diesen Artikel: http://bitsilearn.blogspot.com/2010 /03/selenium-upload-files.html

    Anstatt also $this->attachFile('file', 'file://test.png') zu verwenden, habe ich verwendet:

     $this->type('file', '/path/to/file');
     

    und es funktioniert! :)

    02 January 2012
    edorianshamania
  • Meine Erfahrung: Der Pfad zur Datei muss mit file:// versehen sein (wird auf Windows-Plattformen verwendet).

    15 June 2012
    vojtechdobes
  • Der folgende Code funktioniert. Probieren Sie es aus.

     $this->byName('Name Locator')->value('/home/img/Desert.jpg');
    $this->byName()->submit();
    sleep(1);
     
    04 May 2017
    Dov Benyomin Sohacheskiuser3780949