from pexpect import pxssh
import getpass
import time
import sys
s=pxssh.pxssh()
class Testinstall:
def setup_class(cls):
cls.s=pxssh.pxssh()
cls.s.login('10.10.62.253', 'User','PW',auto_prompt_reset=False)
def teardown_class(cls):
cls.s.logout()
def test_cleanup(cls):
cls.s.sendline('cat test.py')
cls.s.prompt(timeout=10)
cls.s.sendline('cat profiles.conf')
cls.s.prompt(timeout=10)
print('s.before')
print (cls.s.before)
print('s.after')
print(cls.s.after)
위의 코드에서 print(cls.s.before)
인쇄물은 모두 cat
명령의 출력입니다. 예상대로 두 번째 cat
명령의 출력 만 출력해야합니다 (예 : cat profiles.conf
). 쉘에서 파이썬 세션에서 시도 할 때 다음 pxssh.prompt()
을 사용할 수 없습니다 pxssh.login()
에 대한 auto_prompt_reset=False
를 사용하는 경우 그것은 (기대에 따라)에만 두 번째 cat
명령의 출력py.test와 함께 사용하면 pxssh.before가 다른 동작을하는 이유는 무엇입니까?
내 대답이 문제를 설명합니까? – pynexj
아 맞습니다. 첫 번째 대답은 완벽한 해결책이었습니다. 두 번째의 경우 질문 자체가 혼란 스러웠습니다. 나는 'auto_prompt_reset = True'이고 지금은 PROMPT = x, 어딘가에 s.PROMPT = y라고 쓰고 싶다면 PROMPT를 다시 x로 재설정하는 법을 묻는다. –
이 질문이 없으면 pxssh에서 'sync_original_prompt'API를 사용하는 방법을 설명하십시오. 미리 감사드립니다. :) –