I am currently running Selenium commands through PHPUnit to a remote server. I've run into a problem where I am trying to upload an image to an input form.
In my PHPUnit, I have the command
$this->attachFile( 'file', 'file://test.png' );
My Selenium server returns an error
PHPUnit_Framework_Exception: Response from Selenium RC server for testComplete().
java.lang.RuntimeException: Output already exists: /tmp/selenium2070373138020433468upload.
My test.png file is currently only located in the folder where I am executing my .php unit tests from.
How can I properly upload a file through PHPUnit and Selenium and get it to not throw an exception?
Uploading a File Using SeleniumIt's just a matter of sending the path of the file you want to upload to the text of the file-select input field. Then, you just have to click the Begin Upload button. By inspecting the elements on the page, you can find out that the button has the id js-file-input.
I had same problem. Then I found this article: http://bitsilearn.blogspot.com/2010/03/selenium-upload-files.html
So instead of using $this->attachFile('file', 'file://test.png')
i have used:
$this->type('file', '/path/to/file');
and it works! : )
My bit of experience: path to file must be prefixed with file://
(used on Windows platform).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With