code: public function attachFile($file, $selector)
      {
          $filesPath = $this->getMinkParameter('files_path');
  
          if (!$filesPath) {
              throw new \Exception('The "files_path" Mink parameter was not configured.');
          }
  
          $file = rtrim(realpath($filesPath), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $file;
  
          if (!is_file($file)) {
              throw new \InvalidArgumentException(sprintf('The "%s" file does not exist.', $file));
          }
  
          $this->element('field', $selector)->attachFile($file);
      }
docs: @param string $file
  Path to a file. Relative to the directory specified in "files_path" in behat.yml.
  @param string $selector
  Field selector (label|id|name).
  
  @throws \Exception
  @throws NoSuchElement
  
  @Given /^(?:|I )attach file "([^"]*)" to "([^"]*)"$/