#python #selenium
Доброго времени суток. Занимаюсь тестированием, пользуюсь Селениумом и Пайтоном. Встала необходимость записать все тесты в 1 файл и запускать скрипт с параметрами и чтобы, выполнялись, так сказать выбранные тесты. Чую, что не хватает фундаментальных знаний, но гугление по конкретике, не привело ни к ответу, ни к направлению где искать. Сейчас тесты у меня разбиты по разным файлам, и в каждом захардкожено, куда заходить, какй логин пароль и прочее. class loginTest(unittest.TastCase): def setUp(self): #открываю браузер и нужную страницу def test_1(self): # логинюсь и выполняю набор кейсов def test_2(self): # логинюсь и выполняю набор кейсов def test_3(self): # логинюсь и выполняю набор кейсов def test_4(self): # логинюсь и выполняю набор кейсов def tearnDown(self): #Забираю из памяти теста лог, организую отчёт if __name__ == '__main__': unittest.main() То, что я хочу сделать выглядит макетно так, но как мне при запуске скрипта выбирать, запустить тест 1 и 4 или любой другой набор, идей нет. Кто сталкивался с таким, подскажите, рад буду даже ссылке, где можно почитать.
Ответы
Ответ 1
Как итог, нашёлся способ как запускать выбранные тесты. Делаем это через Suite, а приклеить к функции параметр уже не сложно. # -*- coding: utf-8 -*- from selenium import webdriver import unittest class testsall (unittest.TestCase): def test_open_page(self): wd = webdriver.Firefox() wd.maximize_window() wd.implicitly_wait(60) wd.get("http://ukr.net") wd.close() def suite(): suite1 = unittest.TestSuite() suite1.addTest(testsall("test_open_page")) return suite1 if __name__ == "__main__": with open('/home/andrey/test.log','w') as logf: unittest.TextTestRunner(verbosity=2, stream = logf).run(suite())Ответ 2
перед test поставьте любой символ. Метод будет игнорироваться. Или закомментить. Пример: def _test_1(self): Хотя может я не прав. Только 3 день как учу пайтон) (поправьте меня если бред сгенерил:) )
Комментариев нет:
Отправить комментарий