Я хочу прикрепить CSV-файл к полю ввода типа «файл», используя Behat Framework (Mink Extension).не удалось подключить файл (csv-файл) в поле ввода с использованием расширения Behat Mink Framework
Html поля ввода ---- input id = "edit-ab-csv-file" class = "form-file" type = "file" size = "60" name = "files [ab_csv_file]">
первый метод Мы попытались Я попытался с помощью метода AttachFile() в Driverinterface
/**
* Attaches file to field with specified id|name|label|value.
*
* @When /^(?:|I)attach the file "(?P<path>[^"]*)" to "(?P<field>(?:[^"]|\\")*)"$/
*/
public function attachFileToField($field, $path)
{
$field = $this->fixStepArgument($field);
if ($this->getMinkParameter('files_path')) {
$fullPath = rtrim(realpath($this->getMinkParameter('files_path')), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$path;
if (is_file($fullPath)) {
$path = $fullPath;
}
}
$this->getSession()->getPage()->attachFileToField($field, $path);
}
}
второй метод --мы пытался использовать Java Script
$jscript = "document.getElementById('edit-ab-csv-file').value='//home//developer//build//tools//behat//Invaliduploadfile.csv';";
$this->getSession()->getDriver()->executeScript($jscript);
я получил исключение говоря
The operation is insecure. (WARNING: The server did not provide any stack trace information)
Command duration or timeout: 10 milliseconds
Возможно, кто-нибудь может помочь устранить эту проблему.
В Behat 3 вы можете использовать '% paths.base%', чтобы сделать ваш каталог относительно где вы запускаете свои тесты. Например: 'files_path:% paths.base%/app/Test/Behat/Files' – DanielM
В Behat 2 вы можете использовать'% behat.paths.base% 'за то, что предложил Даниэль. – Greg