Djangoでこのエラーが発生します
RuntimeError: Failed to shutdown the live test server in 2 seconds. The server might be stuck or generating a slow response.
Webサイトのメニューで簡単なテストを実行しようとしています。メニューはアコーディオンスタイルです(概要メニューの下の[例]までスクロールダウンします。アコーディオンはデモ内のもので、メニューはクリック方法に応じて表示および非表示になります: http: //docs.jquery.com/UI/アコーディオン#overview)
メニューの1つを開くと、検索用のテキストボックスが表示されます。私がやろうとしているのは、そのボタンを押してから、いくつかの値を入力し、[Enter]をクリックして検索結果を表示することです。
コード
from django.test import LiveServerTestCase
from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
import time
class SeleniumTests(LiveServerTestCase):
fixtures = ['testData.json',]
@classmethod
def setUpClass(cls):
cls.driver = WebDriver()
super(SeleniumTests, cls).setUpClass()
@classmethod
def tearDownClass(cls):
super(SeleniumTests, cls).tearDownClass()
cls.driver.quit()
def test_example(self):
#load the site
self.driver.get('%s%s' % (self.live_server_url, '/testingDB/'))
#find the accordion button
elem1 = self.driver.find_element_by_id("search_button")
#click it
elem1.click()
#wait a little bit so the accordion loads
self.driver.implicitly_wait(5)
#could've also used this command ->time.sleep(1)
#find the element that now appeared
elem = self.driver.find_element_by_name("q")
#enter the search query and press enter
elem.send_keys("selenium" + Keys.RETURN)
#assert that a new page loaded, with Search in the title
assert "Search" in self.driver.title
テストはうまく機能しますが、Djangoでエラーが発生します。時間を短くしすぎると、セレンは検索ボックスを見つけることができなくなり、
Element is not currently visible and so may not be interacted with
ライブテストサーバーエラーを回避する方法がわかりません。( https://docs.djangoproject.com/en/dev/topics/testing/#django.test.LiveServerTestCaseから取得したDjango情報)
追加情報
これがメニューです:
パート1
次に「検索」をクリックすると、約0.5秒で以下が表示されます。
パート2