#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 день как учу пайтон) (поправьте меня если бред сгенерил:) )
Комментариев нет:
Отправить комментарий