Symfony2 アプリケーション内のユーザー インターフェイス テストに Mink と Sahi を使用しています。しかし、実際には Sahi でファイルをアップロードすることはできません。
私のSahiサーバーは稼働中です:
[09:51:33] coil@ubuntu:~/Webdev/sahi/bin$ ./sahi.sh
--------
SAHI_HOME: ..
SAHI_USERDATA_DIR: ../userdata
SAHI_EXT_CLASS_PATH:
--------
Sahi properties file = /home/coil/Webdev/sahi/config/sahi.properties
Sahi user properties file = /home/coil/Webdev/sahi/userdata/config/userdata.properties
Added shutdown hook.
>>>> Sahi started. Listening on port: 9999
>>>> Configure your browser to use this server and port as its proxy
>>>> Browse any page and CTRL-ALT-DblClick on the page to bring up the Sahi Controller
-----
Reading browser types from: /home/coil/Webdev/sahi/userdata/config/browser_types.xml
-----
私のステップの実装:
// $element->getXpath() --> (//html/descendant-or-self::*[@id = 'attachment'])[1]
$element->attachFile($file);
ここで、/home/coil/Webdev/sahi/userdata
ディレクトリではないファイルを使用すると、次のエラーが発生することに注意してください。
$element->attachFile('toto');
error:_setFile2(_byXPath("(//html/descendant-or-self::*[@id = 'attachment'])[1]"), "toto")
Error: File not found: toto; Base directory is userdata directory: /home/coil/Webdev/sahi/userdata
Error: File not found: toto; Base directory is userdata directory: /home/coil/Webdev/sahi/userdata
at Sahi._setFile (http://dev.project.com/_s_/spr/concat.js:1398:12)
at Sahi._setFile2 (http://dev.project.com/_s_/spr/concat.js:1367:7)
at eval (eval at <anonymous> (http://dev.project.com/_s_/spr/concat.js:3480:14), <anonymous>:1:7)
at Sahi.ex (http://dev.project.com/_s_/spr/concat.js:3480:9)
at <anonymous>:1:11
<a href='/_s_/dyn/Log_getBrowserScript?href=null&n=-1'><b>Click for browser script</b></a>
そのため、有効な既存のファイルでエラーが発生しないため、Sahi はファイルを「見つける」ことができます。ただし、フォームが送信されると、Sahi プロキシによってファイルがアップロードされることはありません。
その他のチェック:
- 副作用がないことを確認するために、クライアント側の HTML5 と JavaScript の検証を削除しました。
- 他のすべての Sahi テストは問題ありませんが、アップロードの 3 つだけが不合格です
- プロキシはテスト用ブラウザに設定されています
- ブラウザーで問題なく Sahi コントローラーを開くことができます
- MaxOsX と Ubuntu で同じ問題
- アップロード テストを実行するたびに、次のような名前の /userdata/temp/download に新しいエントリが作成されます
sahi_11a83f8806be8046fc0aaa80eac076110b95__fr-fr-2-0.bdic
本当に奇妙なのは、これらのテストが数回前に合格したと確信していることです。Sahi ファイルのアップロードを中断するアプリケーションまたは構成で何かが変更されたに違いありませんが、何が見つかりません。以前は、Sahi コンソールにアップロード中のファイルに関するログがありましたが、現在はログがまったくありません。