[SP-pm] Automatizando consulta IBM com Perl ou Expect

Frederico Melo fdmmelo at gmail.com
Thu Mar 14 04:50:52 PDT 2013


Márcio! Você tem toda razão! Realmente estou muito sobrecarregado mas,
estou em fase de finalização da outra demanda. Por incrível que pareça,
essa pequena ajuda que me deu no exemplo abaixo irá ajudar bastante! Vou
anotar aqui e acompanhar pela sua explicação. Tão logo finalize e coloque
em produção o outro sistema, irei me aprofundar com dedicação exclusiva
para a automação do IBM e, seu exemplo vai ajudar muito.

Muito obrigado pela explicação de cada linha! Esclareceu bastante! Muito
obrigado e desculpe o incômodo! Com certeza, dentro em breve contatarei o
forum novamente e, se não se incomodar, vou lhe perguntar outras coisas
mas, preciso caminhar sozinho para ver as dúvidas!

Muito obrigado Márcio!

Abc,
Frederico

2013/3/13 Marcio - Google <marciorp at gmail.com>

> Frederico,
>
>    Desculpe-me, mais se você não arrumar tempo para tentar e tentar, não
> vai evoluir mesmo. Isso que está fazendo é bem complicado mesmo, e não tem
> receita de bolo, pois quase ninguém usa, além do que como se trata de
> posicionamento de tela e tal, vária de ambiente para ambiente, não tenho
> como fazer por você.
>
>    Sobre o usuário e senha:
>   my $exp = Expect->spawn('s3270');        ##
>   my $cmd1 = "connect(10.1.8.192:23)\n";        ## Conectei no servidor,
> esse ai é o IP.
>   $cmd1 .= "wait(InputField)\n";        ## Aqui estou aguardando um campo
> de entrada, no meu caso o cursor já cai no campo do usuário
>   $cmd1 .= "String(usertest)\n";        ## Aqui eu "digito" na tela do
> terminal o nome do usuário, no meu caso é "usertest"
>   $cmd1 .= "wait(InputField)\n";        ## Aguardo o próximo campo de
> entrada, que no meu caso é a senha. Como no meu ambiente todos os usuário
> tem tamanho fixo e ocupam o campo todo, quando insiro o nome do usuário o
> cursor do terminal já cai para o próximo campo, que é a senha
>   $cmd1 .= "String(passtest)\n";        ## Digito a senha, que no meu
> caso é "passtest"
>   $cmd1 .= "Ascii(0,0,24,80)\n";        ## Leio a tela
>
>    Aquele código do histórico tem tudo que você precisa para fazer os
> primeiros e segundos testes. A documentação do s3270 tem os comando que
> você precisa para interagir com o terminal, isso não é Perl, é TN3270.
>    A explicação do Eden também vai ajudar muito a tratar as primeiras
> saídas.
>
>    Depois disso, poste as dificuldades, de preferência com o código que
> você usou e os erros ou dúvidas.
>
>
> [...]'s
>
> Marcio
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130314/66bfa641/attachment.html>


More information about the SaoPaulo-pm mailing list