Selenium, PHPUnit, and AttachFile()

2019-05-01 19:28发布

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?

3条回答
你好瞎i
2楼-- · 2019-05-01 19:52

My bit of experience: path to file must be prefixed with file:// (used on Windows platform).

查看更多
Deceive 欺骗
3楼-- · 2019-05-01 19:58

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! : )

查看更多
孤傲高冷的网名
4楼-- · 2019-05-01 20:03

The code below works. Give it a try.

$this->byName('Name Locator')->value('/home/img/Desert.jpg');
$this->byName()->submit();
sleep(1);
查看更多
登录 后发表回答