Подробности
Для большего юнит-теста мне нужен метод в Python, который позволяет серверам / коммутаторам / маршрутизаторам вызывать IP-адреса и отвечать соответствующим образом на тест.
Myмысли на этот счет:
Считывание IP-адресов из файла CSV
Создайте файл конфигурации, в который я буду вводить все соответствующие данные.
Настройка
import testcore
from testcore.control.ssh import SSH
import unittest
from test import support
import logging
import os
Тестовая настройка
def setUp(self):
self.s = testcore.control.ssh.SSH(host='172.23.56.xxx',
username='admin', password='admin', type_of_dut='ecos')
logger.info('self.s = testcore.control.ssh.SSH')
self.s.query_interactive=True
if self.s.login():
logger.info('login')
q = self.s.query('account')
logger.info('account')
self.assertIsNotNone(q, 'missing answer')
self.assertEqual('\r\n', q, 'unexpected result')
logger.info('missing answer')
logger.info('unexpected result')
# switch to prompt account
q=self.s.query('enforce-Password-Rules yes')
logger.info('enforce-Password-Rules yes')
q=self.s.query('exit')
logger.info('exit')
def tearDown(self):
self.s.close()
Так что мне нужно:
Как я могу написать метод на Python, который позволяет мне запускать несколько IP-адресов для моего теста?
Стоит ли это скрипт конфигурации?
В этом примере вы увидите тест, который я выполняю.
def test_create_ntp_external1(self):
logger_true.info('test_create_ntp_external1')
if self.s.loggedin:
logger.info('self.s.loggedin')
q = self.s.query('time')
logger.info('time')
self.assertIsNotNone(q, 'missing answer')
self.assertEqual('\r\n', q, 'unexpected result')
logger.info('missing answer')
logger.info('unexpected result')
# switch to prompt account
q = self.s.query('ntp 1 2610:20:6F15:15::27')
logger.info('ntp 1 2610:20:6F15:15::27')
print(q)
q = self.s.query('exit')
self.assertIsNotNone(q, 'missing answer')
self.assertEqual('\r\n', q, 'unexpected result')
logger.info('missing answer')
logger.info('unexpected result')
q = self.s.query('logout')
logger.info('logout')
import time
print('Wait')
time.sleep(2)
print('True')
logger_true.info('True')
Отдельные тесты вызываются с помощью вышеуказанной настройки, но только для одного устройствавовремя.Так как же это можно расширить, чтобы я мог одновременно вызывать разные IP-адреса?