-
Notifications
You must be signed in to change notification settings - Fork 0
/
controlarJanelasAplicacao.1.0.py
65 lines (54 loc) · 1.95 KB
/
controlarJanelasAplicacao.1.0.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# -*- coding: utf8 -*-
import win32com.client
from time import sleep
#Executavel do Aplicacao
executavel = "\\\\server\sistemas\oracle\oracle6i\\bin\ifrun60.exe"
#Arquivo a ser testado
caminhoForm = "D:\\DirForm\\Aplicacao4108.fmx"
#Dados de acesso ao AplicacaoD:\DirForm\Aplicacao4
login = "Usuario"
senha = "senha"
banco = "InstBanco"
#Executa o Aplicacao
shell = win32com.client.Dispatch("WScript.Shell")
programa = shell.Run(executavel)
#Fecha o Aplicacao na memoria
def fechaAplicacao():
fechaAplicacao = "taskkill /IM ifrun60.exe /T /F"
shell.Run(fechaAplicacao)
def ativaJanela(arquivo, nomeDaJanela):
while (shell.AppActivate(nomeDaJanela) == False): print(str(arquivo) + ": Tentando acessar o aplicativo e focar a janela " + nomeDaJanela + "...");
print("Janela: " + nomeDaJanela + " - Ativada")
return True;
def ativaJanelaFinal(arquivo, nomeDaJanela):
print(str(arquivo) + ": Tentando acessar o aplicativo e focar a janela " + nomeDaJanela + "...");
if(shell.AppActivate(nomeDaJanela) == True):
print(str(arquivo) + ": Janela " + nomeDaJanela + " focada com sucesso");
#fechaAplicacao()
return True;
else:
print(str(arquivo) + ": Nao foi possivel acessar a Janela " + nomeDaJanela);
#fechaAplicacao()
return False;
ativaJanela(caminhoForm, "Oracle Forms Runtime")
ativaJanela(caminhoForm, "Forms Runtime Options")
sleep(1)
shell.SendKeys(caminhoForm)
sleep(0.5)
shell.SendKeys("{TAB}")
shell.SendKeys(login)
sleep(0.5)
shell.SendKeys("{TAB}")
shell.SendKeys(senha)
sleep(0.5)
shell.SendKeys("{TAB}")
shell.SendKeys(banco)
sleep(0.5)
shell.SendKeys(18*"{TAB}")
shell.SendKeys("{ENTER}")
# Se o metodo retornar True o sistema impediu o acesso.
resultado = str(ativaJanelaFinal(caminhoForm, "Forms"))
#Coloca o resultado do teste em um arquivo de log
with open("resultado.txt", 'a') as resultadoArquivo:
resultado = caminhoForm + ";" + str(resultado) + "\n"
resultadoArquivo.write(resultado)