apk-tester-pro / script.js
FourLabs-UN2's picture
termine e faça tudo funcionar
e36bb15 verified
// 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');