我无法弄清楚为什么我的django硒测试如此缓慢。
我一直在努力提高Django应用程序的测试速度。我已经编写了许多Selenium测试,但它们大大减慢了测试周转时间,每次硒测试大约需要25-40秒。我已经阅读了很多关于硒测试加速的内容,并且已经实现了绝大多数速度改进:PhantomJS无头浏览器,显式等待,测试之间的浏览器重用,通过css选择器和原子测试找到
我添加了一些计时器来了解时间丢失的地方,我惊讶地发现setUp平均需要1.3s,拆解需要0.001s,整个测试功能从开始到结束的范围在1s到4s之间。 / p>
test_xyz(research.tests.abcde) ... /home/userxyz/.virtualenvs/xyz/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:734: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
InsecureRequestWarning)
Time taken to setUp(): 1167 ms
Page being opened: http://localhost:8081/abc/research/
Time taken to tearDown: 0 ms
ok
让我感到困惑的是,在测试成功后,确定' ok'据报道,在打印出下一个测试的名字之前,终端在闪烁的条上保持空行超过20秒。我的计时器的一个例子如下:
def setUp(self):
timer = time.time()*1000
self.set_user()
super(ResearchSeleniumTestCase, self).setUp()
print('Time taken to setUp: %d ms ' % (time.time()*1000 - timer))
这是我可重复使用的浏览器功能。它周围的计时器显示需要1.3s
@classmethod
def setUpClass(cls):
cls.selenium = webdriver.PhantomJS()
super(ResearchSeleniumTestCase, cls).setUpClass()