Настройка
В дополнение к Python 3.7 я использую следующие пакеты: Testcore (специальный пакет с paramiko внутри!), Pyserial
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.xx.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()
Информация:
В моей структуре ставлю на разных пользователей аппаратный коммутатор.Во втором тесте я проверяю, может ли вновь созданный пользователь войти в систему.
Согласно журналу, он также может войти, что также зарегистрировано соответствующим образом.
В моей структуре не действуетЧто должно произойти, если тестовый случай не пройден, на самом деле тестовый случай не должен будет входить в систему, когда он входит в систему, что он не может подключиться.К сожалению, он пишет это только в журнале, и контрольный пример все еще положительный.
Создать пользователя
def test_create_user_1(self):
logger_true.info('test_create_user_1')
if self.s.loggedin:
logger.info('self.s.loggedin')
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('add 1 testuser_P1 testuser_P1')
logger.info('add 1 testuser_P1 testuser_P1')
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')
self.s.close()
Пользователь явно создан (если посмотреть накоманда переключения на показ списка пользователей).Пока все положительно, и этот тестовый пример пройден.
На следующем шаге я хочу создать учетную запись, которая проверяет, может ли пользователь войти в систему по приглашению.
Проблема:
Если я удаляю пароль для отрицательного теста из соединения SSH в self.s = testcore.control.ssh.SSH (host = '172.xx.xx.xxx', username = 'testuser_P1', password = 'testuser_P1'), тест все равно будет выполняться.Поэтому тест не показан как отрицательный.
Есть идеи, чтобы это исправить?