2012-12-20 38 views
8

trong khi chạy thử nghiệm django với selen (không xa, không Xvfb), tôi luôn nhận được sự ngoại lệ sau đây:bị hỏng ống Lỗi khi chạy django-test với selen

Creating test database for alias 'default'... 

Traceback (most recent call last): 
File "/usr/lib/python2.7/wsgiref/handlers.py", line 86, in run 
self.finish_response() 
File "/usr/lib/python2.7/wsgiref/handlers.py", line 127, in finish_response 
self.write(data) 
File "/usr/lib/python2.7/wsgiref/handlers.py", line 210, in write 
self.send_headers() 
File "/usr/lib/python2.7/wsgiref/handlers.py", line 268, in send_headers 
self.send_preamble() 
File "/usr/lib/python2.7/wsgiref/handlers.py", line 192, in send_preamble 
'Date: %s\r\n' % format_date_time(time.time()) 
File "/usr/lib/python2.7/socket.py", line 324, in write 
---------------------------------------- 
Exception happened during processing of request from ('127.0.0.1', 44089) 
self.flush() 
File "/usr/lib/python2.7/socket.py", line 303, in flush 
self._sock.sendall(view[write_offset:write_offset+buffer_size]) 
error: [Errno 32] Broken pipe 
Traceback (most recent call last): 
File "/usr/local/lib/python2.7/dist-packages/django/test/testcases.py", line 981, in _handle_request_noblock 
self.process_request(request, client_address) 
File "/usr/lib/python2.7/SocketServer.py", line 310, in process_request 
self.finish_request(request, client_address) 
File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request 
self.RequestHandlerClass(request, client_address, self) 
File "/usr/local/lib/python2.7/dist-packages/django/core/servers/basehttp.py", line 139, in __init__ 
---------------------------------------- 
super(WSGIRequestHandler, self).__init__(*args, **kwargs) 
File "/usr/lib/python2.7/SocketServer.py", line 640, in __init__ 
self.finish() 
File "/usr/lib/python2.7/SocketServer.py", line 693, in finish 
self.wfile.flush() 
File "/usr/lib/python2.7/socket.py", line 303, in flush 
self._sock.sendall(view[write_offset:write_offset+buffer_size]) 
error: [Errno 32] Broken pipe 

Destroying test database for alias 'default'... 

Process finished with exit code 0 

thử nghiệm đang chạy với LiveServerTestCase sử dụng django 1.4 và selenium python-bindings 2.28.0 với Firefox WebDriver. Có ai đó có một ý tưởng, về cách giải quyết nó?

Trả lời

6

Đảm bảo rằng trình duyệt yêu cầu trang đang chờ phản hồi.

Nếu tôi nhớ chính xác có các lệnh selenium_client.implicitly_wait(sec)selenium_client.set_page_load_timeout(sec) cho điều đó, hãy đảm bảo bạn đang sử dụng nó.

Nếu không phải máy chủ sẽ cố gắng ghi vào đường ống bị hỏng vì trình duyệt đóng kết nối trước khi phản hồi được gửi.

+2

Cảm ơn! Mặc dù 'selenium_client.waitForPageToLoad (ms)' không tồn tại trong phiên bản đó/python-bindings, nhưng mẹo là đặt thời gian chờ ngầm định: 'selenium_client.implicitly_wait (sec)' và 'selenium_client.set_page_load_timeout (sec)' – PenthousePauper

+0

@PenthousePauper please đánh dấu câu trả lời là chính xác sau đó :) –

+4

Nhưng nó không phải là. selenium_client.waitForPageToLoad (ms) Không có ở đó. –

Các vấn đề liên quan