所以,我对这个很好奇。
我一直在和Django一起尝试TDD,并且从Harry J.W.开始练习。 Percival的书如下:
from selenium import webdriver
import unittest
class NewVisitorTest(unittest.TestCase):
def setUp(self):
self.browser = webdriver.Chrome()
def tearDown(self):
self.browser.quit()
def test_can_start_list_and_retrieve_later(self):
self.browser.get('http://localhost:8000')
self.browser.implicitly_wait(3)
self.assertIn('Django', self.browser.title)
看起来很简单。
除非我得到这个失败的测试:
error: [Errno 10061] No connection could be made because the target machine actively refused it
所以我相信我有一些防火墙(如果你能引导我,我会感激不尽)。然而,最奇怪的是以下内容:
但是,如果我在省略这一行的情况下运行脚本,那么:self.browser.implicitly_wait(3)
测试好奇地过去了。
当我测试失败时,Django说:
Not Found: /favicon.ico
[22/Feb/2016 09:34:38] "GET /favicon.ico HTTP/1.1" 404 1940
如果这是相关的:
操作系统是Windows 10
IDE是PyCharm社区(所以Django正在PowerShell中运行)
测试框架是Unittest.py
答案 0 :(得分:1)
Chrome需要与您计算机上安装的Chrome版本匹配的特定驱动程序:
self.browser = webdriver.Chrome("/path/to/chromedriver")
下载chromedrive并将其从https://sites.google.com/a/chromium.org/chromedriver/downloads
复制到“/ path / to / chromedriver”注意:对于Firefox,可以使用webdriver.Firefox()