dsqbh42082
2017-07-21 12:59
浏览 36
已采纳

Mink / behat文件附加

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');
    }
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • douwei1930 2017-07-21 14:49
    已采纳

    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.

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题