2

Behat Framework (Mink Extension) を使用して、タイプ「ファイル」の入力フィールドに CSV ファイルを添付したいと考えています。

入力欄のhtml---- input id="edit-ab-csv-file" class="form-file" type="file" size="60" name="files[ab_csv_file]">

1番目の方法 試した方法 Driverinterface で attachfile() メソッドを使ってみた

/**
 * Attaches file to field with specified id|name|label|value.
 *
 * @When /^(?:|I )attach the file "(?P<path>[^"]*)" to "(?P<field>(?:[^"]|\\")*)"$/
 */

 public function attachFileToField($field, $path)
{
    $field = $this->fixStepArgument($field);

    if ($this->getMinkParameter('files_path')) {
        $fullPath = rtrim(realpath($this->getMinkParameter('files_path')), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$path;
        if (is_file($fullPath)) {
            $path = $fullPath;
        }
    }

    $this->getSession()->getPage()->attachFileToField($field, $path);
}


}

方法その2 --Javaスクリプトを使ってみた

$jscript = "document.getElementById('edit-ab-csv-file').value='//home//developer//build//tools//behat//Invaliduploadfile.csv';";
  $this->getSession()->getDriver()->executeScript($jscript);

という例外がありました

 The operation is insecure. (WARNING: The server did not provide any stack trace information)
      Command duration or timeout: 10 milliseconds

誰でもこの問題を解決するのを手伝ってください。

4

1 に答える 1