Django 1.10.4でLiveServerTestCaseを設定しようとしています。テストを実行するたびに、ブラウザがハングアップしてlocalhostにアクセスできなくなります。私のフロントエンドは別の角度/反応アプリです。そこで、私はgruntビルドを使用して静的資産を構築し、collectstaticを実行します。以下は私のテストのコードです。テストを実行すると、Django LiveServerTestCaseがハングします
from django.test.testcases import LiveServerTestCase
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
class ChromeTestCase(LiveServerTestCase):
@classmethod
def setUpClass(cls):
super(ChromeTestCase, cls).setUpClass()
cls.driver = webdriver.Chrome('/path/to/chromedriver')
cls.driver.implicitly_wait(10)
cls.wait = WebDriverWait(cls.driver, 10)
@classmethod
def tearDownClass(cls):
cls.driver.quit()
super(ChromeTestCase, cls).tearDownClass()
def test_user_sign_up_from_form(self):
self.driver.get('%s%s' % (self.live_server_url, '/'))
self.wait.until(EC.presence_of_element_located((By.XPATH, '//input[@id="email"]')))
email_input = self.driver.find_element_by_xpath(
'//input[@id="email"]')
email_input.send_keys("[email protected]")
password_input = self.driver.find_element_by_xpath(
'//input[@id="password"]')
password_input.send_keys("secret")
signup_button = self.driver.find_elements_by_xpath(
'//*[@id="signup_button"]')
signup_button.click()
url = self.live_server_url + '/home'
self.assertEquals(self.driver.current_url, url)
私のテストでテストサーバーに到達できない理由は誰にも分かりますか?
また、私のテストサーバーが作成するURLはhttpsです。
はあなたのjsとネットワークをデバッグしましたか?ティアダウンにコメントするとブラウザが残り、develツールを開くことができます。そして、私はより安全なphantomjsブラウザを見つけました。 – XaviP
コンソールをチェックすると、localhost:8011 /にERR_CONNECTION_REFUSEDというエラーが表示され、ネットワークタブにリソースエラーをロードできませんでした。 phantomjsの提案に感謝します。 – alexkeating