2012-07-28 2 views
4

내가 장고 프로젝트 (1.4)와 파이썬 2.6에서 일하고 있어요유닛 테스트는 파이썬에서 flawlessy을 작동하지만 장고 manage.py 테스트로 가져 오기 오류를 제공

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import Select 
from selenium.common.exceptions import NoSuchElementException 
import unittest, time, re 

class Tcase(unittest.TestCase): 
    def setUp(self): 
     self.driver = webdriver.Firefox() 
     self.driver.implicitly_wait(30) 
     self.base_url = "http://localhost:9999/" 
     self.verificationErrors = [] 

    def test_tcase(self): 
     driver = self.driver 
     driver.get(self.base_url) 
     # other things... 

    def is_element_present(self, how, what): 
     try: self.driver.find_element(by=how, value=what) 
     except NoSuchElementException, e: return False 
     return True 

    def tearDown(self): 
     self.driver.quit() 
     self.assertEqual([], self.verificationErrors) 

if __name__ == "__main__": 
    unittest.main() 

셀레늄 IDE에서 생성 된이 파일을 가지고 Selenium으로 테스트하고 싶습니다.

이 파일을 Python에서 직접 실행하면 문제없이 작동합니다.

내가

python manage.py test myapp 

을이 일을 실행하면 내가 가져 오기 오류

C:\web\opineo> python .\manage.py test core 
Traceback (most recent call last): 
    File ".\manage.py", line 14, in <module> 
    execute_manager(settings) 
    File "C:\Python26\lib\site-packages\django\core\management\__init__.py", line 459, in execute_manager 
    utility.execute() 
    File "C:\Python26\lib\site-packages\django\core\management\__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "C:\Python26\lib\site-packages\django\core\management\commands\test.py", line 49, in run_from_argv 
    super(Command, self).run_from_argv(argv) 
    File "C:\Python26\lib\site-packages\django\core\management\base.py", line 196, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "C:\Python26\lib\site-packages\django\core\management\base.py", line 232, in execute 
    output = self.handle(*args, **options) 
    File "C:\Python26\lib\site-packages\south-0.7.3-py2.6.egg\south\management\commands\test.py", line 8, in handle 
    super(Command, self).handle(*args, **kwargs) 
    File "C:\Python26\lib\site-packages\django\core\management\commands\test.py", line 72, in handle 
    failures = test_runner.run_tests(test_labels) 
    File "C:\Python26\lib\site-packages\django\test\simple.py", line 380, in run_tests 
    suite = self.build_suite(test_labels, extra_tests) 
    File "C:\Python26\lib\site-packages\django\test\simple.py", line 264, in build_suite 
    suite.addTest(build_suite(app)) 
    File "C:\Python26\lib\site-packages\django\test\simple.py", line 79, in build_suite 
    test_module = get_tests(app_module) 
    File "C:\Python26\lib\site-packages\django\test\simple.py", line 36, in get_tests 
    test_module = import_module('.'.join(prefix + [TEST_MODULE])) 
    File "C:\Python26\lib\site-packages\django\utils\importlib.py", line 35, in import_module 
    __import__(name) 
    File "C:\web\opineo\core\tests\__init__.py", line 3, in <module> 
    from core.tests.func import * 
    File "C:\web\opineo\core\tests\func.py", line 1, in <module> 
    from selenium import webdriver 
    File "C:\web\opineo\core\tests\selenium.py", line 3, in <module> 
    from selenium import webdriver 
ImportError: cannot import name webdriver 

무슨 일이야거야? 셀레늄 파일이 있습니다! 파이썬 2.6의 사이트 패키지

는 편집 :이 작품

, 예상대로 열립니다 파이어 폭스

PS C:\web\opineo> python.exe .\manage.py shell 
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on win32 
>>> from selenium import webdriver 
>>> driver = webdriver.Firefox() 
+1

_manage.py shell_, _import selenium_. 티는 효과가 있니? 그렇지 않은 경우 가져 오기를 확인하십시오. –

+0

예. 작동합니다 .. 그 질문으로 업데이트 해 드리겠습니다. – apelliciari

답변

4

마침내 내가 문제를 발견했습니다 : 테스트에서라는 파일이 selenium.py 지명되었다 그래서 그것은 도서관을 무시하고 있었다. 아주 초보자 오류.

그 이유는 seleniumwebdriver을 찾을 수 없었습니다!

+0

와우, 같은 오류가있었습니다 ... – SaiyanGirl