2015-04-06 6 views
-2

Я пытаюсь запустить тест селена, и это, кажется, ничего не происходит. Я проверил следующий код, чтобы убедиться, что этот параметр работает: браузер Firefox загружен, как и ожидалось.тест selenium не открывается браузер django

В functional_tests.py

browser = webdriver.Firefox() 
broswer.get('http://localhost:8000') 

Но когда я изменил его следующим образом:

import unittest 
from selenium import webdriver 

class NewVistorTest(unittest.TestCase): 

    def setUp(self): 
     self.browser = webdriver.Firefox() 

    def tearDown(self): 
     self.browser.quit() 

    def test_can_open_browser(self): 
     self.browser.get('http://localhost:8000') 
     self.assertIn('Test', self.browser.title) 

Это не открывая браузер, ничего не происходит. Я запустил этот python functional_tests.py

Каков наилучший способ организовать модульные тесты и тесты на селен. Я хотел бы запустить его по имени модуля, не все в test.py или test_abc.py, а не носом.

ответ

0

Как вы ожидаете его запустить? Python не будет автоматически запускать тесты только потому, что они находятся в классе. Вам нужно добавить еще пару строк в конец файла:

class NewVistorTest(unittest.TestCase): 
    ... 

if __name__ == '__main__': 
    unittest.main(warnings='ignore') 

Это условное является, как Python скрипт проверяет, если он был выполнен из командной строки, а не только импортирован другой сценарий. Мы вызываем unittest.main(), чтобы запустить тестовый бегун unittest, который автоматически найдет тест и методы в файле и запустит их.

Без этого блока, как вы видели, ничего не происходит.

+0

спасибо. Да, я пропустил эту часть. – user2307087

Смежные вопросы