Задача
Мне нужно сменить некоторые из моих тестов с unittest (library) на Pytest, к сожалению, я имею дело с объемом тестов, которые я здесь, чтобы решить, что я не могу взять на себя все функции, поэтому. С исследованиями впереди я просто не могу ужиться.
Моя настройка относится к тестам, которые тестируют функциональность коммутатора на основе интерфейса командной строки.
- Войдите на коммутатор с SSH и Pyserial
- Выполнение запросов в среде приглашения
- После завершения теста процесс теста должен быть записан в текстовом файле
Спросите:
- Могу ли я использовать источник, который я сейчас использую, так синоним Pytest?
- Что мне нужно перестроить, чтобы я мог продолжать использовать основные компоненты (см. Выше)?
- Где есть хорошие примеры Pytest и Router / Switch Test? Насколько проблематичным является комплексное ремоделирование нескольких 1000 тестовых случаев?
- Очень важным моментом также будет то, что у меня есть набор тестов в другом тесте? Как реализовать существующий набор тестов в Pytest?
настройка:
Python 3.7, Unittest
import unittest
from test import support
import paramiko
Здесь я использую этот класс
class SwitchAccount(unittest.TestCase): # This class inherits unittest.TestCase
Подключение к коммутатору
def setUp(self):
self.s = testcore.control.ssh.SSH(host='xxx.xx.xxx.250', username='admin', password='admin')
self.s.query_interactive = True
Первый тест на коммутаторе
def test_change_Enforce_Enable(self):
if self.s.login():
q = self.s.query('account')
# switch to prompt account
q = self.s.query('enforce-Password-Rules yes')
Здесь я запускаю тестовый костюм
# intial test
# class Test_User(unittest.TestCase):
def test_create_user(self):
# self-filfilling
assert 1
if self.s.login():
q = self.s.query('account')
# switch to prompt account
q = self.s.query('add 10 testuser1 testuser1 ')
q = self.s.query('add 11 testuser2 testuser2 ')
q = self.s.query('add 11 testuser3 testuser3 ')
q = self.s.query('add 11 testuser4 testuser4 ')
q = self.s.query('add 11 testuser5 testuser5 ')
q = self.s.query('add 11 testuser6 testuser6 ')
q = self.s.query('add 11 testuser7 testuser7 ')
q = self.s.query('add 11 testuser8 testuser8 ')
q = self.s.query('add 11 testuser9 testuser9 ')
q = self.s.query('add 11 testuser10 testuser10 ')
import time
print('Wait')
time.sleep(3)
# create testadmins privileg 15
q = self.s.query('add 15 testadmin1 testadmin1 ')
q = self.s.query('add 15 testadmin2 testadmin2 ')
q = self.s.query('add 15 testadmin3 testadmin3 ')
q = self.s.query('add 15 testadmin4 testadmin4 ')
q = self.s.query('add 15 testadmin5 testadmin5 ')
import time
print('Wait')
time.sleep(3)
# more testadmins
q = self.s.query('add 15 testadmin1 testadmin6 ')
q = self.s.query('add 15 testadmin2 testadmin7 ')
q = self.s.query('add 15 testadmin3 testadmin8 ')
q = self.s.query('add 15 testadmin4 testadmin9 ')
q = self.s.query('add 15 testadmin1 testadmin11 ')
q = self.s.query('add 15 testadmin2 testadmin12 ')
q = self.s.query('add 15 testadmin3 testadmin13 ')
q = self.s.query('add 15 testadmin4 testadmin14 ')
q = self.s.query('add 15 testadmin5 testadmin15 ')
import time
print('Wait')
time.sleep(10)
def test_delete_user(self):
if self.s.login():
q = self.s.query('account')
q = self.s.query('delete testuser1 ')
q = self.s.query('delete testuser2 ')
q = self.s.query('delete testuser3 ')
q = self.s.query('delete testuser4 ')
q = self.s.query('delete testuser5 ')
q = self.s.query('delete testuser6 ')
q = self.s.query('delete testuser7 ')
q = self.s.query('delete testuser8 ')
q = self.s.query('delete testuser9 ')
q = self.s.query('delete testuser10 ')
import time
print('Wait')
time.sleep(10)
# create testadmins privileg 15
q = self.s.query('delete testadmin1 ')
q = self.s.query('delete testadmin2 ')
q = self.s.query('delete testadmin3 ')
q = self.s.query('delete testadmin4 ')
q = self.s.query('delete testadmin5 ')
import time
print('Wait')
time.sleep(10)
# def test_user_password(self):
# if self.s.login():
# q = self.s.query('add 15 ß ß')
# import time
# print('Wait')
# time.sleep(3)
# print('it´s not possible ')
def test_creat_user_nopassword(self):
if self.s.login():
q = self.s.query('add 15 Testusernopassword ')
import time
print('Wait')
time.sleep(3)
print('it´s not possible to create a user admin')
def test_creat_admin(self):
if self.s.login():
q = self.s.query('add 15 admin admin')
print('it´s not possible to create a user admin')
import time
print('Wait')
time.sleep(3)
def test_split(self):
# code here
pass
def tearDown(self):
# your code to clean or close the connection
pass
if __name__ == '__main__':
unittest.main(verbosity=3)
unittest.main(warnings='ignore')
log_file = 'log_file.txt'
f = open(log_file, "w")
runner = unittest.TextTestRunner()
runner.run(suite())