今天我尝试将 django 的LiveServerTestCase
withsplinter
和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 秒),但它仍然很慢。我也更喜欢无头浏览器进行测试。