2012-12-20 19 views
8

जबकि सेलेनियम (कोई दूरस्थ, कोई xvfb), मैं हमेशा निम्न अपवाद प्राप्त साथ Django परीक्षण चलाने:टूटी पाइप के दौरान त्रुटि

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 

टेस्ट Django 1.4 का उपयोग कर LiveServerTestCase साथ चलाए जा रहे हैं और फ़ायरफ़ॉक्स वेबड्राइवर के साथ सेलेनियम पायथन-बाइंडिंग 2.28.0। क्या किसी के पास कोई विचार है, इसे हल करने के तरीके पर?

उत्तर

6

सुनिश्चित करें कि पृष्ठ का अनुरोध करने वाला ब्राउज़र प्रतिक्रिया के लिए प्रतीक्षा कर रहा है।

यदि मुझे सही याद है तो selenium_client.implicitly_wait(sec) और selenium_client.set_page_load_timeout(sec) इसके लिए आदेश हैं, सुनिश्चित करें कि आप इसका उपयोग कर रहे हैं।

यदि सर्वर टूटी हुई पाइप को लिखने का प्रयास नहीं करेगा क्योंकि प्रतिक्रिया भेजने से पहले ब्राउज़र कनेक्शन बंद कर देता है।

+2

धन्यवाद! यद्यपि 'selenium_client.waitForPageToLoad (ms)' उस संस्करण/पायथन-बाइंडिंग में मौजूद नहीं है, यह चाल अंतर्निहित टाइमआउट सेट करना है: 'selenium_client.implicitly_wait (sec)' और 'selenium_client.set_page_load_timeout (sec)' – PenthousePauper

+0

@PenthousePauper कृपया उत्तर को सही के रूप में चिह्नित करें :) –

+4

लेकिन यह नहीं है। selenium_client.waitForPageToLoad (एमएस) वहां नहीं है। –

संबंधित मुद्दे