Compartilhar via


Ações de emulação de terminal

O Power Automate fornece integração com emuladores de terminal por meio das ações Emulação de terminal. Essas ações permitem que você lide com terminais e mainframes e execute várias operações neles, como mover o cursor, definir e obter texto e enviar teclas.

Antes de implantar qualquer ação de terminal, use a ação Abrir sessão de terminal para abrir uma nova conexão com o provedor instalado.

Importante

Antes de tentar se conectar a uma sessão de terminal, verifique se a sessão de terminal real já esteja aberta em sua máquina.

Se você instalou o Micro Focus Reflection em seu computador, escolha a respectiva opção no parâmetro Provedor da ação e preencha a configuração necessária.

Captura de tela da ação

Se você instalou outro provedor, selecione HLLAPI que funciona com a maioria dos provedores de emulação de terminal.

Dependendo do provedor que você está usando, selecione o arquivo de DLL de HLLAPI apropriado, localizado em sua pasta de instalação. Na lista a seguir, você pode ver os nomes dos arquivos de DLL de HLLAPI de alguns provedores de emulação de terminal populares:

  • RocketSoftware BlueZone: ehlapi64.dll
  • IBM Personal Communications: EHLAPI32.dll
  • MicroFocus Rumba: System/ehlapi32.Dll
  • Cybelesoft zScope: zHllap32.dll

Observação

Não há suporte atualmente para a DLL HLLAPI do Windows (WinHLLAPI).

Captura de tela da ação

Depois de abrir uma sessão de terminal e concluir todas as operações desejadas, encerre a conexão usando a ação Fechar sessão de terminal. Se você não fechar a conexão, alguns provedores não permitirão que você se conecte novamente à sessão já aberta sem reiniciar o software ou a conexão.

Captura de tela da ação Fechar sessão do terminal.

Abrir sessão de terminal

Abra uma nova sessão de terminal.

Parâmetros de entrada

Argumento Opcional Aceita Valor padrão Descrição
Provider N/D Reflection da Micro Focus, HLLAPI Reflection da Micro Focus A emulação de terminal a ser usada
HLLAPI DLL path Não Arquivo A DLL HLLAPI do provedor. Nome padrão da RocketSoftware BlueZone: 'ehlapi64.dll'. Nome padrão do IBM Personal Communications: 'EHLAPI32.dll'. Caminho padrão do MicroFocus Rumba: 'System/ehlapi32.Dll'. Nome padrão do Cybelesoft zScope: 'zHllap32.dll'. Outro provedor que oferece uma HLLAPI DLL em sua pasta de instalação.
Installation path Não Pasta O caminho de instalação do aplicativo do provedor no sistema de arquivos do usuário
Configuration N/D Perfil existente, especificar conexão Perfil existente Escolha 'Perfil existente' para selecionar um arquivo que contém uma conexão de emulação de terminal pré-configurada. Escolha 'Especificar conexão' para especificar o tipo de conexão, o endereço do host e a porta.
Session name Não Valor do texto O nome da sessão à qual se conectar. O nome abreviado HLLAPI e é um identificador exclusivo para a sessão do host. Ele pode ser encontrado nas definições de configuração do emulador do Terminal.
Host type N/D IBM 3270, IBM 5250 IBM 3270 O tipo de host da conexão
Profile Não Arquivo O arquivo que contém a conexão pré-configurada
Host address Não Valor do texto O endereço do host ao qual se conectar
Port Não Valor numérico A porta a ser usada para esta conexão
Attach to running session N/D Valor booliano False Especifica se deve anexar a uma sessão de terminal aberta/em execução no momento

Variáveis produzidas

Argumento Type Descrição
TerminalSession Sessão de terminal A sessão de terminal específica a ser usada com os comandos posteriores de emulação de terminal

Exceções

Exceção Descrição
Error communicating with the emulator Indica um problema ao conectar ao emulador
Erro de perfil Profile error

Fechar sessão de terminal

Feche uma sessão de terminal aberta.

Parâmetros de entrada

Argumento Opcional Aceita Valor padrão Descrição
Terminal session to close Não Sessão de terminal A sessão de terminal aberta anteriormente

Variáveis produzidas

Essa ação não produz variáveis.

Exceções

Exceção Descrição
Error communicating with the emulator Indica um problema ao conectar ao emulador

Mover cursor na sessão de terminal

Move o cursor do terminal para a posição especificada.

Parâmetros de entrada

Argumento Opcional Aceita Valor padrão Descrição
Terminal session Não Sessão de terminal A sessão de terminal com a qual trabalhar
Row Não Valor numérico A posição vertical do cursor na tela
Column Não Valor numérico A posição horizontal do cursor na tela

Variáveis produzidas

Essa ação não produz variáveis.

Exceções

Exceção Descrição
Screen position out of bounds Indica que a posição de tela está fora dos limites
Position commands aren't supported by the emulator Indica que não há suporte para os comandos de posição usados pelo emulador
Operation is unavailable for this session type Indica que a operação não está disponível para este tipo de sessão
Error communicating with the emulator Indica um problema ao conectar ao emulador

Obter texto de sessão de terminal

Obter texto de uma sessão de terminal.

Parâmetros de entrada

Argumento Opcional Aceita Valor padrão Descrição
Terminal session Não Sessão de terminal A sessão de terminal com a qual trabalhar
Get text from N/D Campo, tela inteira, posição do cursor, posição específica Campo O local de onde o texto será obtido
Get field by N/D Rótulo, índice, posição Label Especifica como pesquisar o campo
Label Não Valor do texto O rótulo do campo a ser pesquisado
Index Não Valor numérico O índice do campo a ser pesquisado
Text length Não Valor numérico O tamanho do texto a ser recebido
Row Não Valor numérico A posição vertical do campo na tela
Column Não Valor numérico A posição horizontal do campo na tela

Variáveis produzidas

Argumento Type Descrição
TerminalText Valor do texto O texto recuperado da sessão de terminal

Exceções

Exceção Descrição
Error communicating with the emulator Indica um problema ao conectar ao emulador
Field index out of bounds Indica que o índice do campo está fora dos limites
Field label not found Indica que o rótulo do campo não existe
Screen position out of bounds Indica que a posição de tela está fora dos limites
No field found at the given position Indica que não existe campo na posição especificada
Terminal screen is unformatted Indica que a tela do terminal não está formatada
Position commands aren't supported by the emulator Indica que não há suporte para os comandos de posição usados pelo emulador
Operation is unavailable for this session type Indica que a operação não está disponível para este tipo de sessão

Definir texto em uma sessão de terminal

Defina texto em uma sessão de terminal.

Parâmetros de entrada

Argumento Opcional Aceita Valor padrão Descrição
Terminal session Não Sessão de terminal A sessão de terminal com a qual trabalhar
Texto Não Entrada direta criptografada ou Valor do texto O texto a ser definido no local especificado
Definir texto N/D Posição do cursor, Campo Campo O local para onde o texto será definido
Get field by N/D Rótulo, índice, posição Label Especifica como pesquisar o campo
Label Não Valor do texto O rótulo do campo a ser pesquisado
Index Não Valor numérico O índice do campo na tela
Row Não Valor numérico A posição vertical do campo na tela
Column Não Valor numérico A posição horizontal do campo na tela
Treat @ character as literal N/A Valor booliano False Marque esta caixa para enviar o caractere '@' literalmente. Deixe esta opção desabilitada para enviá-la como um caractere especial

Variáveis produzidas

Essa ação não produz variáveis.

Exceções

Exceção Descrição
Error communicating with the emulator Indica um problema ao conectar ao emulador
Field index out of bounds Indica que o índice do campo está fora dos limites
Field label not found Indica que o rótulo do campo não existe
Screen position out of bounds Indica que a posição de tela está fora dos limites
No field found at the given position Indica que não existe campo na posição especificada
Terminal screen is unformatted Indica que a tela do terminal não está formatada
Position commands aren't supported by the emulator Indica que não há suporte para os comandos de posição usados pelo emulador
Operation is unavailable for this session type Indica que a operação não está disponível para este tipo de sessão
Input text was rejected Indica que o texto de entrada foi rejeitado

Enviar chave para sessão de terminal

Envie uma tecla de controle para uma sessão de terminal.

Parâmetros de entrada

Argumento Opcional Aceita Valor padrão Descrição
Terminal session Não Sessão de terminal A sessão de terminal com a qual trabalhar
Control key N/D Transmitir, Cursor Alt, Atenção, Backspace, guia Voltar, Bloquear alternar, Interromper, Cancelar, Centralizar, Limpar, Limpar comunicação, Limpar exibição, Limpar linha, Limpar página, Limpar partição, Vírgula, Linha de comando, Janela de comando, Escrever, Ctrl+F1, Ctrl+F2, Ctrl+F3, Ctrl+F4, Ctrl+F5, Ctrl+F6, Ctrl+F7, Ctrl+F8, Ctrl+F9, Ctrl+F10, Ctrl+F11, Ctrl+F12, Ctrl+Shift+F1, Ctrl+Shift+F2, Ctrl+Shift+F3, Ctrl+Shift+F4, Ctrl+Shift+F5, Ctrl+Shift+F6, Ctrl+Shift+F7, Ctrl+Shift+F8, Ctrl+Shift+F9, Ctrl+Shift+F10, Ctrl+Shift+F11, Ctrl+Shift+F12, Cursor piscando, Cursor selecionar, Decimal, Excluir, Excluir caractere, Excluir linha, Excluir palavra, Destrutivo espaço traseiro, Desconectar, Duplo, Baixo, Baixo duplo, Dup, Duplicar, Editar script, Fim da tecla, Fim do campo, Apagar EOF, Apagar EOL, Apagar EOP, Apagar entrada, Escape ExtGr, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, F25, F26, F27, F28, F29, F30, F31, F32, F33, F34, F35, F36, F37, F38, F39, F40, F41, F42, F43, F44, F45, F46, F47, F48, Delimitador de campo, saída de campo, marca de campo, menos campo, campo mais, encontrar, reinicialização forçada, Ajuda, Hex, Hex 00, Hex 01, Hex 02, Hex 03, Hex 04, Hex 05, Hex 06, Hex 07, Hex 08, Hex 09, Hex 0A, Hex 0B, Hex 0C, Hex 0D, Hex 0E, Hex 0F, Hex 10, Hex 11, Hex 12, Hex 13, Hex 14, Hex 15, Hex 16, Hex 17, Hex 18, Hex 19, Hex 1A, Hex 1B, Hex 1C, Hex 1D, Hex 1E, Hex 1F, Hex 7F, Manter, Manter limpo, Manter definido, Home, Home down, Home up, Inserir, Inserir caractere, Inserir aqui, Inserir linha, Inserir modo, tecla inválida, KeyPad0, KeyPad1, KeyPad2, KeyPad3, KeyPad4, KeyPad5, KeyPad6, KeyPad7, KeyPad8, KeyPad9, Esquerda, Dupla esquerda, Avanço de linha, Menos, Alternar monitor, Nova linha, Próxima página, Próxima tela, Próxima palavra,, PA1, PA2, PA3, Página, Página abaixo, Página acima, Pan à esquerda, Pan à direita, Pular partição, PF1, PF2, PF3, PF4, Plus Cr, Palavra anterior, PrevPage, PrevScreen, Imprimir, Imprimir linha, Imprimir mensagem, tela de envio, remover, substituir, redefinir, retornar, campo de reserva, direito, direito duplo, rolar para baixo, rolar para cima, linha Rile, executar script, rolar para baixo, rolar esquerda, Rolar para a direita, Rolar para cima, Selecionar, Enviar, Enviar resposta de volta, Enviar exclusão, Enviar linha, Enviar mensagem, Shift + Backspace, Shift + Excluir, Shift + Baixo, Shift+F1, Shift+F2, Shift+F3, Shift+F4, Shift+F5, Shift+F6, Shift+F7, Shift+F8, Shift+F9, Shift+F10, Shift+F11, Shift+F12, Shift+F13, Shift+F14, Shift+F15, Shift F16, Shift+F17, Shift+F18, Shift+F19, Shift+F20, Shift+Home, Shift+Insert, Shift+Left, Shift+Print screen, Shift+Right, Shift+Up, Solicitação do sistema, Tab, Tek zoom, Termo página seguinte, Termo página anterior, Teste, Assistente de texto começar em negrito, Assistente de texto começar em negrito, Assistente de texto começar sublinhado, Assistente de texto na parte inferior da página, Retorno do suporte de texto, Centro de assistência de texto, Assistente de texto terminar em negrito, Assistente de texto fim da linha, assistente de texto meio índice para baixo, assistente de texto meio índice para cima, símbolos de inserção de assistente de texto, próxima parada de assistente de texto, próxima coluna de texto assistida, final de página de assistente de texto, espaço necessário de assistente de texto, guia necessária de assistente de texto, parada de assistente de texto, Assistente de texto avanço da guia de texto, Assistente de texto topo da página e, Sublinhado de palavra de assistente de texto, Rastrear Alternância Udk 10, Udk 6, Udk 7, Udk 8, Udk 9, Udk 11, Udk 12, Udk 13, Udk 14, Udk 15, Udk 16, Udk 17, Udk 18, Udk 19, Udk 20, Up, Up duplo Transmitir A tecla para enviar à sessão

Variáveis produzidas

Essa ação não produz variáveis.

Exceções

Exceção Descrição
Error communicating with the emulator Indica um problema ao conectar ao emulador
Key not supported Indica que não há suporte para a tecla

Aguardar texto na sessão de terminal

Aguarde até que um texto específico seja exibido em uma sessão de terminal.

Parâmetros de entrada

Argumento Opcional Aceita Valor padrão Descrição
Terminal session Não Sessão de terminal A sessão de terminal aberta anteriormente
Text to wait for Não Valor do texto A exibição do texto ou da expressão regular na tela do terminal ou em um campo especificado a ser aguardada
Regular expression N/D Valor booliano False Especifica se é necessário aguardar uma expressão regular em vez de texto sem formatação
Wait for text location N/D Tela, Campo Tela O local no qual aguardar a exibição do texto
Get field by N/D Rótulo, índice, posição Label Especifica como pesquisar o campo
Label Não Valor do texto O rótulo do campo a ser pesquisado
Index Não Valor numérico O índice do campo a ser pesquisado
Row Não Valor numérico A posição vertical do campo na tela
Column Não Valor numérico A posição horizontal do campo na tela
Timeout Sim Valor numérico 0 O tempo máximo de espera

Observação

O mecanismo de expressão regular do Power Automate é o .NET. Para encontrar mais informações sobre expressões regulares, vá para Linguagem de Expressões Regulares – Referência Rápida.

Variáveis produzidas

Essa ação não produz variáveis.

Exceções

Exceção Descrição
Error communicating with the emulator Indica um problema ao conectar ao emulador
Field index out of bounds Indica que o índice do campo está fora dos limites
Field label not found Indica que o rótulo do campo não existe
Screen position out of bounds Indica que a posição de tela está fora dos limites
No field found at the given position Indica que não existe campo na posição especificada
Terminal screen is unformatted Indica que a tela do terminal não está formatada
Position commands aren't supported by the emulator Indica que não há suporte para os comandos de posição usados pelo emulador
Operation is unavailable for this session type Indica que a operação não está disponível para este tipo de sessão
Timeout expired Indica que o tempo limite expirou

Procurar texto na sessão de terminal

Procurar todas as ocorrências de um texto específico em uma sessão de terminal

Parâmetros de entrada

Argumento Opcional Aceita Valor padrão Descrição
Terminal session Não Sessão de terminal A sessão de terminal aberta anteriormente
Texto para pesquisa Não Valor do texto O texto ou a expressão regular a procurar na tela do terminal
Regular expression N/A Valor booliano False Especifica se é necessário procurar uma expressão regular em vez de texto sem formatação
Tamanho da coluna Não Valor numérico 80 O número de colunas na tela do terminal

Observação

O mecanismo de expressão regular do Power Automate é o .NET. Para encontrar mais informações sobre expressões regulares, vá para Linguagem de Expressões Regulares – Referência Rápida.

Variáveis produzidas

Argumento Type Descrição
FindResults Tabela de dados Os resultados da pesquisa recuperados da tela da sessão de terminal

Exceções

Exceção Descrição
Error communicating with the emulator Indica um problema ao conectar ao emulador
Texto não encontrado Indica que o texto que estava procurando não foi encontrado
Expressão regex inválida Indica que a expressão regular usada é inválida