Selenium,PHPUnit和AttachFile()

时间:2011-08-23 23:09:42

标签: file-upload selenium phpunit

我目前正通过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正确上传文件并让它不会抛出异常?

3 个答案:

答案 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);