Я пытаюсь загрузить файл с помощью Behat. Поэтому я написал эту простую HTML-страницу:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" /><br />
<input type="submit" />
</form>
</body>
</html>
и простая функция Behat:
Feature: test
Scenario: Some Test
Given I am on "/upload.php"
And I attach the file "/path/to/tile" to "file"
Когда фраза I attach the file ... to ...
выполняется, драйвер selenium 2 генерирует запрос curl и отправляет его в PhantomJS: http://localhost:4444/wd/hub/session/5b9a8630-ed8e-11e4-956f-956a9ce75127/element/:wdc:1430215640681/value with params: {"value":["\/path\/to\/file"]}
Запрос не завершается, если его не прервать, и PhantomJS никак не реагирует на запрос.
Я уже искал в сети и нашел несколько потоков, в которых говорилось, что это работает, и несколько, в которых говорилось, что это не работает, включая проблему на github (https://github.com/detro/ghostdriver/issues/282), который закрывался и открывался несколько раз.
Версии: PhantomJS: 2.0.0 Behat: 3.0.15 Mink: 1.6.1 Mink-Selenium2-Driver: 1.2.0
Кто-нибудь знает рабочее решение этой проблемы?