我正在使用behat / mink / sahi。我试图使用xpath将文件附加到输入类型元素,因为我无法使用已有的普通函数找到它。我的full_path已经在behat.yml文件中了
/**
* @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
不知道从behat.yml单独获得full_path
。
确保你有最新的"behat/mink-selenium2-driver"
或这个PR https://github.com/minkphp/MinkSelenium2Driver/pull/252适用于远程主机。
在我的情况下,我有一个路径在Behat\MinkExtension:
下面的files_path: %paths.base%/features/bootstrap
和此复制你的文件在bootstrap
而对于完整路径,我使用这样的东西:
$path = $this->getMinkParameter('files_path').DIRECTORY_SEPARATOR. $file_name;
$element->attachFile($path);
作为最佳实践,您应该将文件保留在自动化项目中。
var_dump
你的路径,如果是正确的,它应该在运行本地时工作,对于远程你需要PR将文件上传到selenium实例。