Ich versuche, ein LiveServerTestCase mit Django 1.10.4 einzurichten. Immer wenn ich meine Tests starte, öffnet sich der Browser und kann localhost nicht erreichen. Mein Frontend ist eine separate angular/react App. Also baue ich meine statischen Assets mit grunt build und starte collectstatic. Unten ist der Code für meine Tests.Django LiveServerTestCase hängt, wenn ich meine Tests ausführen
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)
Weiß jemand, warum meine Tests den Testserver nicht erreichen können?
Auch die URL, die mein Testserver erstellt, ist https.
Haben Sie Ihr js und Netzwerk debuggen? Wenn Sie Ihren Teardown kommentieren, bleibt der Browser erhalten und Sie können devel tools öffnen. Und für js fand ich Safer Phantomjs Browser. – XaviP
Wenn ich die Konsole überprüfe, erhalte ich einen Fehler ERR_CONNECTION_REFUSED auf localhost: 8011/und in der Netzwerk-Registerkarte bekomme ich einen Ressourcenfehler beim Laden. Danke für den Phantomjs Vorschlag. – alexkeating