Mink/behat 文件附件

Mink/behat file attach

我正在使用 behat/mink/sahi。我正在尝试使用 xpath 将文件附加到输入类型元素,因为我无法使用 behat 已有的正常功能找到它。我的 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 实例。