Tôi đang sử dụng Mink và Sahi để kiểm tra giao diện người dùng trong ứng dụng Symfony2. Nhưng trên thực tế tôi không thể quản lý để tải lên một tập tin với Sahi.Không thể tải tập tin lên Sahi/Mink/Behat trong ứng dụng Symfony2
My Sahi máy chủ khởi động và chạy:
[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
-----
bước thực hiện của tôi:
// $element->getXpath() --> (//html/descendant-or-self::*[@id = 'attachment'])[1]
$element->attachFile($file);
Lưu ý ở đây rằng nếu tôi sử dụng một tập tin mà không phải là /home/coil/Webdev/sahi/userdata
thư mục, tôi nhận được lỗi sau:
$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>
Vì vậy, Sahi có thể "tìm" tệp vì nó không gây ra bất kỳ lỗi nào với một tệp hợp lệ và hiện có. Nhưng khi biểu mẫu được gửi, tệp Sahi không bao giờ được tải lên.
kiểm tra khác:
- tôi loại bỏ các bên HTML5 khách hàng và xác nhận hoạt Javascript để chắc chắn không có tác dụng phụ.
- Tất cả các bài kiểm tra Sahi khác của tôi là Ok, chỉ có 3 với một tải không vượt qua
- proxy được thiết lập trong trình duyệt thử nghiệm của tôi
- tôi có thể mở bộ điều khiển Sahi trong trình duyệt mà không vấn đề
- Same vấn đề trên MaxOsX và Ubuntu
- Mỗi lần tôi chạy một kiểm tra tải lên, tôi đã có một mục mới trong/userdata/temp/tải tên như
sahi_11a83f8806be8046fc0aaa80eac076110b95__fr-fr-2-0.bdic
là gì thực sự kỳ lạ, là tôi chắc chắn rằng những thử nghiệm đó đã trôi qua vài lần trước đây, vì vậy mething phải có thay đổi trong ứng dụng hoặc cấu hình của tôi mà phá vỡ các tập tin tải lên Sahi nhưng tôi không thể tìm thấy những gì. Và trước đó trong giao diện điều khiển Sahi, tôi đã có nhật ký về các tệp mà nó đang tải lên, bây giờ không có nhật ký nào cả.
Bạn đang chạy ứng dụng trong "dev" hoặc trong "production" môi trường? Đó có thể là lý do tại sao bạn không thấy bất kỳ nhật ký nào? – tftd
Nó sử dụng môi trường 'test'. Nhưng tôi đang nói về nhật ký Sahi chứ không phải nhật ký ứng dụng. – COil