所以,我對此很好奇。Django,防火牆,Selenium,[Errno 10061]和implicitly_wait()
我一直在嘗試TDD與Django,並採取哈里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
我有Chrome和chromedriver.exe的最新版本(它位於Django項目的目錄中)。 我仍然收到錯誤。據我所知,不匹配也不能解釋爲什麼「implicitly_waits()」決定測試通過還是失敗。 也許它與另一個錯誤有關,也就是說,當我嘗試將測試添加到Django應用程序時,我得到: '錯誤配置:請求設置DATABASES,但設置未配置。在訪問設置之前,您必須定義環境變量DJANGO_SETTINGS_MODULE或調用settings.configure()。# –
這很正常。簡單的等待解決很多硒否則很難解釋問題。等待是我第一次接觸到Selenium問題。 –