Django - 生菜 - 硒

Django - Lettuce - Selenium

我正在尝试 运行 使用上述堆栈的默认项目,以便能够 运行 对我的大项目进行前端测试。它使用更大的堆栈。 (我一直在尝试首先集成它,但在多次失败后,我尝试在默认的 django 应用程序中重新创建它)

所以主要问题是 Firefox 抛出 Connection was reset 错误。 我试过 firefox 版本:45、46、47。使用 selenium 2.48 和 2.53.6。似乎没有什么能让它发挥作用。 我真的不确定它是否与此有关。

zero.feature:

Feature: Opening Page

  Scenario: Opening Landing page
    Given I access url "/"

zero.py

from lettuce import *
from selenium import webdriver


@step(r'I access url "(.*)"')
def access_url(step, url):
    world.browser = webdriver.Firefox()
    world.browser.get('http://127.0.0.1:8000')

我在 INSTALLED_APPS 中有 lettuce.django。而且似乎 运行 很好:

Creating test database for alias 'default'...
Django's builtin server is running at 0.0.0.0:8000

Feature: Opening Page                  # \blog\features\zero.feature:1

  Scenario: Opening Landing page       # \blog\features\zero.feature:3
    Given I access url "/"             # \blog\features\zero.py:7
what?
No handlers could be found for logger "django.request"
    Given I access url "/"             # \blog\features\zero.py:7

1 feature (1 passed)
1 scenario (1 passed)
1 step (1 passed)

Test Suite Summary:
1 feature (1 passed)
1 scenario (1 passed)
1 step (1 passed)
Destroying test database for alias 'default'...

所以它 运行 生菜并通过了测试(好吧,没有什么可以失败的)。问题是打开的 Firefox window 根本没有加载任何东西,并出现该错误。

我也试过 Splinter,它用更好的语法做了同样的事情。我知道上面的代码在很多层面上都很糟糕,但我必须减少可能导致该问题的错误。但运气不好。

有人解决了这个问题吗?

不确定可能是什么问题 - 可能是 firefox 浏览器的问题。

你为什么不试试 chrome 驱动程序而不是 firefox:

https://sites.google.com/a/chromium.org/chromedriver/getting-started

然后看看会发生什么。 Selenium 有时会喜怒无常,没有人知道为什么(在通常不应该崩溃的时候崩溃)。

我已经重新安装了我的电脑,现在它似乎可以工作了。一定是系统错误。我注意到 url 也发生了变化,当它不起作用时 FF 试图打开 0.0.0.0:8000,这也可能是一个问题。