2012-12-20 3 views
8

とジャンゴ・テストを実行している間、私はいつも次の例外を取得:壊れたパイプエラーセレンとDjangoのテスト(なしリモート、無XVFB)を実行しながら、セレン

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で実行され、 Firefox WebDriverでのセレニウムpython-bindings 2.28.0。誰かがそれを解決する方法についてアイデアを持っていますか?

答えて

6

ページを要求しているブラウザが応答を待っていることを確認してください。

正しく覚えていれば、それにはselenium_client.implicitly_wait(sec)selenium_client.set_page_load_timeout(sec)コマンドがあります。使用していることを確認してください。

もしそうでなければ、サーバは、応答が送信される前にブラウザが接続を閉じるため、破損しているパイプへの書き込みを試みます。

+2

ありがとうございます! 'selenium_client.waitForPageToLoad(ms)'はそのバージョン/ python-bindingsには存在しませんが、暗黙的なタイムアウトを設定するのは、 'selenium_client.implicitly_wait(sec)'と 'selenium_client.set_page_load_timeout(sec)' – PenthousePauper

+0

@PenthousePauperです。答えを正しいものとしてマークしてください:) –

+4

しかし、そうではありません。 selenium_client.waitForPageToLoad(ms)そこにはありません。 –

関連する問題