File size: 5,551 Bytes
e36bb15
411ac85
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e36bb15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411ac85
 
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153

// Shared JavaScript across all pages

// Modal Management
function openTestModal() {
    document.getElementById('testModal').classList.remove('hidden');
    document.body.style.overflow = 'hidden';
}

function closeTestModal() {
    document.getElementById('testModal').classList.add('hidden');
    document.body.style.overflow = 'auto';
}

function startChatbot() {
    closeTestModal();
    document.getElementById('chatbotModal').classList.remove('hidden');
    document.body.style.overflow = 'hidden';
    
    // Add welcome message
    addBotMessage('Ótimo! Agora estou pronto para ajudar você a testar seu aplicativo. Posso instalar o APK, executar testes automatizados, gerar evidências e muito mais. Como posso ajudar?');
}

function closeChatbot() {
    document.getElementById('chatbotModal').classList.add('hidden');
    document.body.style.overflow = 'auto';
}

// Chatbot Functions
function sendMessage() {
    const input = document.getElementById('chatInput');
    const message = input.value.trim();
    
    if (message) {
        addUserMessage(message);
        input.value = '';
        
        // Simulate bot response
        setTimeout(() => {
            simulateBotResponse(message);
        }, 1000);
    }
}
function addUserMessage(message) {
    const chatMessages = document.getElementById('chatMessages');
    const messageDiv = document.createElement('div');
    messageDiv.className = 'flex justify-end message-appear';
    messageDiv.innerHTML = `
        <div class="bg-secondary text-white rounded-2xl rounded-br-none px-4 py-3 max-w-xs lg:max-w-md">
            <p>${message}</p>
        </div>
    `;
    chatMessages.appendChild(messageDiv);
    chatMessages.scrollTop = chatMessages.scrollHeight;
}

function addBotMessage(message) {
    const chatMessages = document.getElementById('chatMessages');
    const messageDiv = document.createElement('div');
    messageDiv.className = 'flex justify-start message-appear';
    messageDiv.innerHTML = `
        <div class="bg-primary text-white rounded-2xl rounded-bl-none px-4 py-3 max-w-xs lg:max-w-md">
            <p>${message}</p>
        </div>
    `;
    chatMessages.appendChild(messageDiv);
    chatMessages.scrollTop = chatMessages.scrollHeight;
}

function simulateBotResponse(userMessage) {
    const responses = {
        'instalar': 'Iniciando instalação do aplicativo no emulador selecionado...',
        'teste': 'Executando testes automatizados no aplicativo...',
        'evidência': 'Gerando relatório de evidências dos testes...',
        'login': 'Testando funcionalidade de login... Verificando campos de usuário e senha.',
        'cadastro': 'Testando fluxo de cadastro de usuário... Validando dados e integração.',
        'navegação': 'Testando navegação entre telas... Verificando transições e estados.',
        'performance': 'Analisando performance do aplicativo... Medindo tempo de resposta e consumo de recursos.'
    };
    
    let response = 'Entendi sua solicitação. Estou processando sua requisição e executando os testes necessários. Posso ajudar com algo mais?';
    
    Object.keys(responses).forEach(key => {
        if (userMessage.toLowerCase().includes(key)) {
            response = responses[key];
        }
    });
    
    addBotMessage(response);
}

// Chatbot Control Functions
function installApp() {
    addUserMessage('Instalar aplicativo');
    setTimeout(() => {
        addBotMessage('Iniciando instalação do APK no emulador Android... Verificando dependências e permissões.');
    }, 1000);
}

function runTests() {
    addUserMessage('Rodar testes');
    setTimeout(() => {
        addBotMessage('Executando suite de testes automatizados... Analisando funcionalidades principais e verificando comportamentos esperados.');
}

function openEvidences() {
    addUserMessage('Abrir evidências');
    setTimeout(() => {
        addBotMessage('Gerando relatório completo de evidências... Capturando screenshots, logs e métricas de performance.');
}

function clearMessages() {
    if (confirm('Tem certeza que deseja excluir todas as mensagens?');
        document.getElementById('chatMessages').innerHTML = '';
        addBotMessage('Olá! Como posso ajudar você com os testes do seu aplicativo hoje?');
    }
}

function openSettings() {
    addUserMessage('Configurações');
    setTimeout(() => {
        addBotMessage('Abrindo painel de configurações... Aqui você pode ajustar parâmetros do emulador, configurações de teste e preferências do assistente.');
}
// Handle Enter key in chat input
document.addEventListener('DOMContentLoaded', function() {
    const chatInput = document.getElementById('chatInput');
    if (chatInput) {
        chatInput.addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                sendMessage();
            }
        });
    }
    
    // Close modals when clicking outside
    document.addEventListener('click', function(e) {
        const testModal = document.getElementById('testModal');
        const chatbotModal = document.getElementById('chatbotModal');
        
        if (testModal && !testModal.classList.contains('hidden')) {
            if (e.target === testModal) {
                closeTestModal();
            }
        }
        
        if (chatbotModal && !chatbotModal.classList.contains('hidden')) {
            if (e.target === chatbotModal) {
                closeChatbot();
            }
        }
    });
// Initialize app
console.log('APK Tester Pro loaded successfully');