Джанго с осколком и фантомами болезненно медленно

Сегодня я попытался объединить LiveServerTestCase django с splinter и phantomjs webdriver.

Вот что я делаю (упрощенная версия):

 class Test(LiveServerTestCase): def setUp(self): self.browser = Browser('phantomjs') def tearDown(self): self.browser.quit() def test(self): self.browser.visit(self.live_server_url) self.assertIn("Hello world!", self.browser.title) 

Иногда тесты выполняются нормально – даже при том, что они выполняют второй метод тестирования. Но иногда он может случайным образом принимать ~ 100 секунд для выполнения одного метода тестирования, или он просто зависает, пока я не выдержу терпение, чтобы дождаться его завершения.

Я использую django_nose как тестовый бегун, и я --liveserver=localhost:8081-8181 диапазон портов для команды ./manage.py test .

Есть ли способ ускорить его? Есть ли другой веб-тест, которым я могу быстрее, чем быстрее?

По умолчанию веб-драйвер кажется более надежным по скорости (1-3 секунды на каждый метод тестирования), но он все еще довольно медленный. Я также предпочел бы безгласный браузер для тестирования.

One Solution collect form web for “Джанго с осколком и фантомами болезненно медленно”

То, что делает тесты медленными, открыто и закрывает браузер при каждом тесте. Один из способов улучшить время тестирования – открыть браузер один раз. Вы можете сделать это, используя setUpClass и tearDownClass.

Python - лучший язык программирования в мире.