我在Symfony2應用程序中使用Mink和Sahi進行用戶界面測試。但實際上我無法使用Sahi上傳文件。無法在Symfony2應用程序中使用Sahi/Mink/Behat上傳文件
我SAHI公司的服務器運行起來:
[09:51:33] [email protected]:~/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公司的測試都OK,只有3與上傳不及格
- 代理設置在我的測試瀏覽器
- 我可以打開瀏覽器中的SAHI公司控制沒有問題
- 同在MaxOsX和Ubuntu
- 我每次運行測試上傳的問題,我得在/用戶數據/溫度/下載命名爲喜歡
sahi_11a83f8806be8046fc0aaa80eac076110b95__fr-fr-2-0.bdic
什麼是很奇怪的一個新的項目,就是我相信,那些測試通過前幾次,所以mething必須已經改變了我的應用程序或配置,打破了Sahi文件上傳,但我找不到。 而之前在Sahi控制檯中,我記錄了它正在上傳的文件,現在根本沒有日誌。
您是在「dev」還是在「production」中運行應用程序?環境?這可能是你沒有看到任何日誌的原因? – tftd 2013-02-25 14:10:53
它使用'測試'環境。但我在談論Sahi日誌而不是應用程序日誌。 – COil 2013-02-25 15:01:26