我目前正通过PHPUnit将Selenium命令运行到远程服务器。我遇到了一个问题,我试图将图像上传到输入表单。
在我的PHPUnit中,我有命令
$this->attachFile( 'file', 'file://test.png' );
我的Selenium服务器返回错误
PHPUnit_Framework_Exception: Response from Selenium RC server for testComplete().
java.lang.RuntimeException: Output already exists: /tmp/selenium2070373138020433468upload.
我的test.png文件目前只位于我执行.php单元测试的文件夹中。
如何通过PHPUnit和Selenium正确上传文件并让它不会抛出异常?
答案 0 :(得分:6)
我有同样的问题。然后我发现了这篇文章:http://bitsilearn.blogspot.com/2010/03/selenium-upload-files.html
所以我没有使用$this->attachFile('file', 'file://test.png')
而是使用了:
$this->type('file', '/path/to/file');
它有效! :)
答案 1 :(得分:1)
我的经验:文件路径必须以file://
为前缀(在Windows平台上使用)。
答案 2 :(得分:1)
以下代码有效。试一试。
$this->byName('Name Locator')->value('/home/img/Desert.jpg');
$this->byName()->submit();
sleep(1);