Jump to content
Sign in to follow this  
Boogerman

Como rodar autoit em maquinas virtuais minimizadas ou fechadas?

Recommended Posts

Olá pessoas,

Trabalho como testador e fiz alguns executáveis que rodam vários testes de um sistema que trabalho, rodos esses testes em um servido remoto via wts, porem, só consigo rodar se o wts estiver aberto e na tela, caso eu minimize a tela do wts o script continua rodando mas as validações não funcionam. 

As validações são simples, algumas se a tela esperada esta aberta, outras se imagem especifica aprece na tela   (uso o imagesearch), Existe alguma forma de eu colocar para rodar e fechar ou minimizar o acesso e continuar rodando sem quebrar as validações?

Segue exemplo de validações:

;-----Validação simples de tela de faturamento.

;---1º Verifica se tela de faturamento abre após pedido ----

Opt("WinTitleMatchMode", 2) ;Informar para que valide tela que nome contenha o texto - 1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase 

Local $tela = ("Faturamento") ; nome tela da ação

        WinWaitActive($tela, "", 5) ; tempo de espera pela tela

        If WinActivate($tela) Then ; caso tela aberta

            ControlClick($tela, "", "[CLASS:TcxCustomInnerTextEdit; INSTANCE:1]") ; clica no botão de faturar

        Else

            validatelaerros($tela, $linha)

        EndIf

;----2º Verifica se nota fiscal e apresentada pelo logo do cliente --------------


Global $y1 = 0, $x1 = 0

Global $imagem = _WaitForImageSearch('logocliente.bmp', 10, 0, $x1, $y1, 0) ; Valida se imagem do logo do cliente e apresentada na fatura

If $imagem Then

    send ("{ESC}")

    Sleep (1000)

    Send("!+{F4}") ; Alt F4 para fechar danfe

Else

    validatelaerros($tela, $linha)

EndIf


;--------3º Informa no log que rodou sem erros ----------

 rodou_sem_erros()
 
 
 ;--- funções (a do image search segue anexo com dll que tem de estar no windows) ---

Func validatelaerros($tela, $linha)


    Global $caminhoprint = ("C:\Erros Automação\")

    _ScreenCapture_Capture($caminhoprint & @ScriptName & ".jpg")

    ProcessClose("sistema.exe")

    _FileWriteLog($caminhoprint & "log_de_erros.log", @ScriptName & $linha & $tela)

    Exit

EndFunc   ;==>validatelaerros


Func rodou_sem_erros()

    Global $caminho = ("C:\Users\serverteste\Desktop\Rodou na automação\")

    _FileWriteLog($caminho & "\Rodou.log", @ScriptName & @CR & @HOUR & @MIN)

    Exit

EndFunc   ;==>rodou_sem_erros

 

 

ImageSearchDLL.dll

ImageSearch.au3

Share this post


Link to post
Share on other sites

É mais uma dica que uma solução.
Cria uma máquina virtual com recursos mínimos para fazer o acesso remoto. Ai você pode minimizar a tela da maquina virtual e manter o programa rodando.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×