I am using behat/mink/sahi. I am trying to attach file to an input type element using the xpath because i can not locate it with the normal function that behat already has. My full_path is already in the behat.yml file
/**
* @When I attach file
*/
public function iAttachFile()
{
$page = $this->getSession()->getPage();
$element = $page->find('xpath', "//input[@data-field-type='logo']");
$element->attachFile('full_path');
}
attachFile
doesn't know to get the full_path
from behat.yml alone.
Make sure you have the latest "behat/mink-selenium2-driver"
or this PR https://github.com/minkphp/MinkSelenium2Driver/pull/252 to work for remote hosts.
In my case I have a path under Behat\MinkExtension:
the following files_path: %paths.base%/features/bootstrap
and after this copy your file in bootstrap
And for full path I use something like this:
$path = $this->getMinkParameter('files_path').DIRECTORY_SEPARATOR. $file_name;
$element->attachFile($path);
As a best practice you should keep your file in the automation project.
var_dump
your path, if is correct it should work when running local, for remote you need that PR to upload file to the selenium instance.