细节
对于更大的单元测试,我需要 Python 中的一种方法,它允许服务器/交换机/路由器调用 IP 并相应地响应测试。
我在这方面的想法:
从 CSV 文件中读取 IP
创建一个配置文件,我在其中输入所有相关数据。
设置
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 呢?