Corrigindo Estados do Objeto

Nem sempre é necessário utilizar as informações de estado do objeto que são capturadas quando um objeto é manipulado em um script. Se o estado do objeto não corresponder às informações de estado no script, o código poderá não funcionar corretamente. Se o estado exato do objeto não for necessário para o teste que é executado, talvez seja útil remover essas informações de estado.

Procedimento

A seguir, o script para pressionamentos de tecla, como digitar logoff e depois pressionar Enter, ao criar um script de conexão do host:
 TFrame().inputKeys(logoff{ENTER});

No momento da reprodução, o Extension for Terminal-based Applications aguarda o TFrame estar no estado pronto antes de enviar os pressionamentos de tecla.

Segue o script para pressionamentos de tecla antes que o algoritmo de sincronização para o terminal determine se o espaço de apresentação está carregado ao registrar o script:
TFrame(ANY, UNINITIALIZED).inputKeys(logoff{ENTER}); 
Isso mostra que o objeto TFrame não foi inicializado e não estava no estado pronto quando você começou a digitar o comando. No momento da reprodução, esses pressionamentos de tecla são enviados assim que o script alcança essa linha, independentemente do estado do terminal.
Para corrigir o estado do terminal, remova as informações de estado do objeto no script:
        //Remove "(ANY,UNINITIALIZED)" is any
        //TFrame(ANY,UNINITIALIZED).inputKeys(logoff{ENTER});
        TFrame().inputKeys(logoff{ENTER});

Feedback