2013-09-05 30 views
1

我被困在python中使用生菜的AttributeError。AttributeError:'thread._local'对象没有属性'浏览器'

我试图按照生菜= 0.2.19文档没有网站http://lettuce.it/reference/terrain.html#reference-terrain但无法弄清楚我做错了什么。

我正在使用virtualenv来启动一个干净的环境。 我想添加一个非常愚蠢的功能进行测试。

目录的组织

features 
    |_terrain.py 
    |_ user_reauth.feature 
    |_ user_steps.py 

这里是我的terrain.py文件:

from lettuce import before, after, world 
from lettuce.django import django_url 
from selenium import selenium 

@before.harvest 
def prepare_browser_driver(variables): 
    if variables.get('run_server', False) is True: 
     world.browser = selenium('localhost', 4444, '*firefox', django_url('/')) 
     world.browser.start() 

@after.harvest 
def shutdown_browser_driver(results): 
    world.browser.stop() 

和user_steps.py文件:

from lettuce import world, step 
from lettuce.django import django_url 

@step(u'User is already authenticated with username "(.*)') 
def user_is(step, username): 
    assert 1==1 

@step(u'I go to the "(.*)" URL') 
def i_go_to_the_url(step, url): 
    world.response = world.browser.visit(django_url(url)) 

@step(u'I should see "(.*)"') 
def i_should_see(step, text): 
    assert text in world.browser.html 

使用以下命令:

python manage.py harvest --settings=my_settings dir/features/user_reauth.feature 

我得到以下错误:

line 13, in shutdown_browser_driver 
    world.browser.stop() 
AttributeError: 'thread._local' object has no attribute 'browser' 

回答

1

虽然我知道,同时通过manage.py harvest发射试验,生菜希望找到terrain.py夹在manage.py是。 尝试将terrain.py放置在该文件夹中。