Mink / behat文件附加

问题描述 投票:-1回答:1

我正在使用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');
    }
php behat mink sahi
1个回答
0
投票

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实例。

© www.soinside.com 2019 - 2024. All rights reserved.