Como fazer o pytest esperar pela ação do usuário (manual)?

Estamos usando com sucesso o pytest (Python 3) para executar um conjunto de testes testando alguns dispositivos de hardware (eletrônicos). Para um subconjunto desses testes, precisamos que o testador altere o arranjo de hardware e depois altere-o novamente. Minha abordagem foi usar um dispositivo de nível de módulo anexado aos testes em questão (que estão todos em um módulo separado), com doisinput chamadas:

@pytest.fixture(scope="module")
def disconnect_component():
    input('Disconnect component, then press enter')
    yield  # At this point all the tests with this fixture are run
    input('Connect component again, then press enter')

Ao executar isso, receboOSError: reading from stdin while output is captured. Eu posso evitar isso chamando pytest com--capture=no, e confirmamos que minha abordagem funciona, ou seja, recebo a primeira consulta antes do subconjunto de teste em questão e a segunda após a execução.

A grande desvantagem é que isso desativa a captura de stdin / stderr para todo o conjunto de testes, no qual alguns dos outros testes contam.

Eu também tentei usarcapsys.disabled (docs) como isso

@pytest.fixture(scope="module")
def disconnect_component(capsys):
    with capsys.disabled():
        input('Disconnect component, then press enter')
        yield  # At this point all the tests with this fixture are run
        input('Connect component again, then press enter')

mas ao executar isso eu receboScopeMismatch: You tried to access the 'function' scoped fixture 'capsys' with a 'module' scoped request object, involved factories.

Posso fazer o pytest esperar pela ação do usuário de alguma outra maneira?input? Caso contrário, posso desativar a captura apenas para os testes usando o equipamento acima?

questionAnswers(3)

yourAnswerToTheQuestion