Seus testes continuam Playwright, Selenium e pytest. Não os substituímos. Nós os deixamos prontos para empresas, e você é dono de tudo: código, evidências e histórico.
Todas as telas do Studio, e o que cada uma faz.
Os testes são criados, executados, agendados e avaliados nestas telas. A linha de comando fica para os pipelines.
Os testes são código padrão Playwright, Selenium e pytest?
Como são os arquivos
Sim. Todo teste que o Studio escreve ou importa é código de framework que sua equipe já conhece. O mecanismo adiciona evidências, telemetria, veredictos e autorreparo ao redor dele; não o substitui.
Playwright, JavaScript e TypeScript: um arquivo do Playwright Test. A importação de fixtures no topo é do Studio; o corpo usa page, localizadores e expect.
Playwright, Python: pytest-playwright puro, uma função test_ que recebe page. Ela é executada apenas com pytest.
Selenium, Python: pytest com uma fixture driver. O conftest.py do espaço de trabalho recorre a um WebDriver padrão quando a execução não é feita pelo mecanismo.
Selenium, JavaScript: código selenium-webdriver dentro de run({ driver, By, until }). O executor do Studio cria e encerra o driver.
Selenium, Java: JUnit 5, @ExtendWith(NexusExtension.class), um parâmetro WebDriver fornecido pela extensão. Compila com Maven.
Selenium e Playwright, C#: NUnit, uma classe que estende NexusSeleniumTest ou NexusPageTest. Compila com .NET.
Testes de API usam o formato JavaScript próprio do Studio.
Como sair
Seus testes, evidências e histórico são arquivos no seu espaço de trabalho. Para executar a suíte sem o Nexus: os testes Python rodam como estão, as importações JavaScript do Playwright voltam a apontar para @playwright/test (um ponto de verificação visual, se você adicionou algum, precisa ser substituído), e as funções run() do Selenium em JavaScript recebem algumas linhas que iniciam um driver. Os testes de API precisariam ser reescritos para outro executor.
Criar
Patrol
Onde os testes são escritos, executados e agendados. A árvore mostra cada teste com um logotipo por navegador, colorido conforme seu estado, e a faixa de execução acima do editor informa em palavras o que cada navegador está fazendo.
Cinco abas: Casos de teste, Executar patrulha, Nexus Recorder, Redator de IA e Adaptador de testes.
Alvos: Matriz de desktop (Chromium, Firefox e WebKit), Dispositivo móvel emulado, Dispositivo real (um celular Android real), ou Desktop + dispositivo real para o PC e um celular Android ao mesmo tempo, com as evidências arquivadas por identidade.
Um navegador após o outro por padrão, ou até três ao mesmo tempo e vários testes simultâneos, quando você configurar. O Selenium roda no Chromium e no Firefox.
Novos testes passam por um ensaio no ambiente isolado, que não registra histórico, antes de suas execuções começarem a contar.
Sinalizadores de funcionalidade: cada sinalizador é executado ativado, desativado ou nos dois estados, enviado por cookie, cabeçalho, armazenamento local ou string de consulta, e o cartão informa a combinação em que um teste falha.
AI writer
Escreve um teste a partir do que você descreve, com a IA que você escolher: sua própria ferramenta de IA de linha de comando (Claude Code, Codex ou opencode) ou uma API, um modelo local do Ollama, Anthropic ou OpenAI. Escreve testes Playwright em JavaScript, TypeScript, Python ou C#, e Selenium em JavaScript, Python, Java ou C#.
Três formas de trabalhar: Conversar com minha IA, Passo a passo (planejar os casos, escrever os que você escolher), ou Trazer meu agente, com instruções para o agente no seu próprio terminal.
Pode ler até quatro páginas do seu aplicativo, em modo somente leitura e sem fazer login, para que o teste use nomes de elementos reais.
A CLI é executada sem ferramentas em uma pasta vazia, ou em seu próprio ambiente isolado somente leitura, e você autoriza cada destino previamente.
Todos os testes passam pelo Vet, sete verificações sem IA: o teste tem um identificador, tem sintaxe válida, usa a fixture do Studio, não acessa nada fora da página, tem asserções que podem falhar, não tem esperas fixas, cliques forçados ou simulações, nem localizadores frágeis.
Experimentar executa o teste duas vezes no Chromium como um rascunho que não grava nada nas evidências nem no histórico. Aceitar permanece desativado até que você abra o código.
Sua IA, pela própria linha de comando
Claude Code
Codex
opencode
O assistente de escrita inicia a CLI na qual você já está conectado nesta máquina, então não é preciso colar uma chave de API no Studio. Seu plano nessa ferramenta continua valendo. Outra opção é usar uma chave de API de um provedor ou um modelo local do Ollama.
Como o Studio inicia o Claude Code, argumento por argumento:
claude -p --output-format json --tools "" --disable-slash-commands
O prompt entra pela stdin. Sem ferramentas, sem servidores MCP, sem suas configurações ou hooks, sem salvar nada como sessão e com um limite de gastos por chamada: um dólar americano por padrão.
Test casesRun patrolNexus RecorderAI writerTest Adapter
AI writer
Chat with my AIStep by stepBring my agent
Claude Code
OffReady, not testedOnNot answeringNot fit
ViewTry itFix with AIAccept
Nexus Recorder
Grava o que você faz no navegador como código de teste. Não há IA no processo: o que você clica é o que fica escrito.
Grave para Desktop, Dispositivo móvel emulado ou um Dispositivo real: um celular Android conectado por USB, controlando o Chrome do próprio celular. Apenas JavaScript e Python por enquanto; Java e C# gravam no desktop.
Escreve Playwright em JavaScript, TypeScript, Python ou C#, ou Selenium em JavaScript, Python, Java ou C#.
Ou grava as chamadas de API feitas pela página como testes REST ou GraphQL, sem cabeçalhos de autenticação ou cookies e com campos que parecem conter segredos convertidos em variáveis de ambiente.
Os Mapas de seletores analisam uma página sem IA, classificam cada seletor como ALTO, MÉDIO ou BAIXO e mantêm o mapa no seu disco.
Test Adapter
Traz os testes que sua equipe já tem para o Studio, sem reescrevê-los à mão.
Cole um teste, solte um arquivo ou indique uma pasta: Playwright ou Selenium em JavaScript, TypeScript ou Python, usando Playwright Test, mocha, jest, pytest ou unittest.
Reescreve com regras, não com IA: a inicialização e a configuração do navegador passam para a fixture do Studio, enquanto as asserções, condições, laços e esperas ficam como estavam.
Mostra as diferenças lado a lado e a contagem de asserções antes e depois. Uma asserção perdida bloqueia a importação, a menos que você aceite a perda, linha por linha.
Uma IA opcional cuida apenas do que nenhuma regra cobre, e seu código passa pelo rigoroso Vet. Os testes mantidos são executados em um ambiente isolado até completarem três execuções sem falhas.
Cypress, WebdriverIO, Robot Framework, Java e C# não são compatíveis.
Reparar linha e autocorreção
O que acontece quando um localizador deixa de funcionar. Nada é reparado sem você saber.
Autocorreção, definida como Sugerir por padrão: após uma falha, um navegador em segundo plano executa novamente o teste até a linha que falhou e lê a página, deixando os candidatos prontos. Sem IA, e o teste continua vermelho.
Reparar linha, na margem dessa linha: grave novamente apenas essa etapa ou troque o seletor, com os mais robustos primeiro e XPath por último. A alteração aparece no editor sem ser salva, e salvá-la é sua aprovação.
Perguntar à minha IA qual usar pode reordenar os candidatos, mas nunca adicionar um. A versão anterior do arquivo permanece na linha do tempo dele.
Integridade dos localizadores lista os localizadores frágeis do teste aberto e os repara da mesma forma.
Executar
Devices & Mobile
Celulares Android reais, conectados por USB à máquina que executa o mecanismo. Sem fazenda de dispositivos, sem minutos para comprar.
Vários celulares ao mesmo tempo, via adb e Chrome DevTools Protocol, com um guia para conectar o primeiro.
Ver tela espelha um celular no seu PC: é possível controlá-lo por esta tela, mas apenas visualizá-lo quando aberto pelo Patrol.
Emulação de dispositivos móveis, com os perfis de dispositivos do Playwright: Chrome no Android, um iPhone ou iPad no WebKit, o mecanismo do Safari, e um perfil de aparelho básico. Os dispositivos reais são apenas celulares Android: um iPhone ou iPad é emulado, nunca um dispositivo físico da Apple, então o teclado e os gestos de sistema do iOS não são testados.
Os testes em um celular são executados um de cada vez, e a execução em um celular sempre fica na máquina à qual ele está conectado.
Watch
No Patrol, em Executar patrulha: executa novamente uma seleção em intervalos programados, sem supervisão.
Repetir em intervalos de 5 minutos a 24 horas, ou Uma vez, em uma data. Termina quando você interromper, após um número de execuções ou em uma data.
É executado como um processo independente, então fechar o Studio não o interrompe. A máquina precisa estar ligada: enquanto estiver suspensa, as execuções agendadas aguardam ou são ignoradas.
Alertas no Telegram ou Slack apenas quando um estado muda, como ALERTA ou RECUPERADO.
CI/CD
Configura o fluxo de execução na tela em vez de em um editor YAML.
Gera o arquivo do GitHub Actions ou do GitLab CI: navegadores, configurações de testes visuais, acessibilidade, caos, repetição e novas tentativas e, no GitHub, uma regressão noturna em um horário UTC com os testes que você escolher.
Executa em um executor hospedado na nuvem, na sua própria máquina ou na sua máquina com Docker, com um script de execução para bash ou PowerShell.
Valida o pipeline localmente primeiro, depois faz o commit e envia as alterações pela mesma tela. As execuções remotas podem ser iniciadas aqui e suas evidências podem ser baixadas.
Também é scriptável para CI: nexus ci encerra com 0 em caso de sucesso, 1 em caso de falha e 2 quando nada foi executado, e grava JUnit XML. Execute seus testes no CI/CD
Pipeline
GitHub ActionsGitLab CI
browserschromiumfirefoxwebkit
nightly regression0 6 * * *
runs onCloud-hostedMy machineMy machine + Docker
generate
Docker e SSH
O Studio é um aplicativo desktop para Windows 11, no seu PC ou, opcionalmente, em um mini PC com Windows 11. A partir dele, o engine executa as suítes de um workspace nesta máquina, no Docker dela ou via SSH em outra máquina. O próprio Studio nunca roda no Docker nem via SSH.
No Docker, a suíte é executada no contêiner do executor no mesmo disco, então as evidências ficam no seu espaço de trabalho como de costume.
Via SSH, em uma VPS com Ubuntu 24.04 LTS, Docker Engine e Compose v2, acessada com autenticação por chave: o engine executa a suíte lá, na mesma imagem de contêiner usada no Docker aqui, e as evidências permanecem lá até que você as baixe.
Celulares Android reais, suítes Selenium e Python, caos de infraestrutura e importação de resultados sempre são executados na própria máquina do Studio.
A barra superior mostra onde o espaço de trabalho é executado e sua RAM e CPU. O ritmo adaptativo, quando ativado, ajusta a quantidade de navegadores simultâneos à RAM livre.
Que prova o Studio guarda de uma execução?
Evidence Locker
Cada resultado, arquivado onde você pode lê-lo e fazer a triagem.
Seções para resultados de testes, resumo da execução, relatórios de bugs, testes aprovados, inteligência de histórico, ranking de risco, Core Web Vitals, auditorias de segurança, resiliência a caos e testes de API.
Cada registro abre em Report, Metadata, Telemetry, Raw Log e AI Analysis, esta última ativada por padrão e preenchida quando a sua IA está conectada. Uma falha registra seu relatório forense, o metadata e uma captura de tela do quadro final, além do vídeo para uma falha real (você escolhe quais veredictos em Settings, em Keep failure video for); o raw log guarda erros de console, requisições com falha, problemas de segurança e erros de página. Um trace também é mantido enquanto o tracing estiver ativado, o que é o padrão.
Triagem: Real bug ou False alarm, com um motivo obrigatório, se ainda conta e o que acontece com os arquivos: mantê-los, arquivar o que importa ou excluí-los.
Compartilhe no Telegram, Slack, Jira ou Azure Boards, copie uma imagem ou exporte um relatório HTML completo. Nada sai da máquina até você escolher um canal e pressionar enviar.
UNVERIFIEDno ledger: the first Real bug or False alarm verdict starts it
SEALED 5tip 329edceb…d1e365df
VERIFIED 5all artifacts intact
TAMPER DETECTEDnames the record that changed
API tests
Testes REST e GraphQL com sete veredictos próprios. Eles rodam a partir do Patrol como qualquer teste, e cada endpoint registra sua própria pasta na seção API testing do Evidence Locker.
API_SECURE: todas as asserções se mantiveram e o formato da resposta corresponde ao último registrado. API_FLAKY: passou em uma nova tentativa. API_DRIFTED: passou, mas o formato mudou, e o diff nomeia cada campo adicionado, removido ou com tipo alterado. O drift conta como aprovação até você torná-lo estrito.
API_BREACHED: uma asserção falhou. API_DEGRADED: mais lento que o orçamento de latência, 2000 ms por padrão, e só é um veredicto quando o desempenho é estrito. API_VULNERABLE: uma requisição sem credenciais foi respondida onde se esperava um 401 ou 403; a ausência de um cabeçalho de segurança, por si só, nunca a classifica assim. API_BLOCKED: um 429, ou um 403 com assinatura da Cloudflare ou da Akamai, de modo que a requisição nunca chegou ao seu produto.
Na tela: blocos para endpoints, aprovados, execuções acima do orçamento, formato alterado, vulneráveis já registrados e mais lento observado; os filtros all, failed, drifted e vulnerable; e uma tabela com endpoint, veredicto, min, mediana, p95, max, n e taxa de aprovação. Um endpoint com menos de 20 observações mostra um traço, não um percentil.
Clique em uma execução para abri-la em seis abas: Report, Request, Response, Performance, Schema e AI Analysis, esta última preenchida quando a sua IA está conectada. Uma etapa com falha de um fluxo oferece Re-run from step N e Re-run failed step.
Registrado por execução em api-evidence: request.json, response.json, performance.json, schema.json, report.md e metadata.json, com segredos ocultados nos cabeçalhos e no corpo. O report.md termina com um comando curl que reproduz a chamada. As execuções aprovadas mantêm as 20 mais recentes por teste; as falhas são sempre mantidas.
Criando um: New test, API, pede um Type: REST, GraphQL ou SOAP sobre HTTP. Cada Type parte de um caso que roda como está escrito contra um endpoint público, e a primeira linha do arquivo registra o Type, de modo que a árvore de arquivos o mostra e mover o arquivo não o altera. SOAP é XML enviado como texto e verificado com regras de texto, sem parser de XML. Ambientes com nomes como staging e prod mantêm sua própria URL base, e um token é guardado apenas como o nome da sua variável. As pastas podem ser aninhadas.
API Flow Recorder: no Nexus Recorder, grave as chamadas que a página faz e depois Review the recording before the suite is written. Calls lista cada uma com seu método, caminho, status, categoria e o motivo. Apenas chamadas de API de negócio, autenticação, leitura e alteração de estado entram inicialmente na suíte; beacons de telemetria, hosts de terceiros, assets e preflights ficam de fora, e você pode marcá-los de volta. Flows encadeiam um valor de uma resposta em uma requisição posterior, como um token de login, e Redactions lista os campos com aparência de segredo marcados como nunca gravados.
A partir da revisão: Generate test grava a suíte, Generate OpenAPI grava um rascunho 3.1 com tipos e códigos de status e sem valores gravados, e Load test abre as chamadas como um plano de Load.
O APIT311 é um teste de demonstração escrito de propósito para sofrer drift: uma API real não muda sob demanda, então ele alterna entre dois endpoints de catálogo em execuções sucessivas, e sua segunda execução mostra API_DRIFTED. Um drift é a mudança que um consumidor encontra em produção enquanto uma asserção sobre o status 200 ainda passa.
Cada teste em cada identidade, execução após execução.
Abas para o resumo, confiabilidade, desempenho, API, falhas, cobertura, qualidade e resultados de testes unitários e de integração.
Tendências por sessão, dia ou semana: Regressed, Recovered, Still broken, Slower. A matriz de identidades confronta cada teste com cada navegador e dispositivo.
Unitários e de integração: importe JUnit XML do Jest, Vitest, pytest, Maven ou gotestsum, mantidos separados dos números de ponta a ponta.
Risco, no Evidence Locker e no Patrol: um ranking por frequência com que um teste oscila, quebra ou consome tempo, em que nada é chamado de instável (flaky) com menos de cinco execuções, e um risco previsto por regressão logística sobre o seu histórico, com fallback para EWMA quando os dados são escassos.
Comparação de pixels com as imagens que você aprovou. A primeira execução com --visual cria a baseline e todas as execuções seguintes são comparadas com ela. A tela abre no que precisa de uma decisão: Pixels moved.
Cada regressão é um card: o teste, o checkpoint, a parcela de pixels que mudou em relação à sua tolerância, "N of M px", as dimensões, quantas áreas mudaram e um aviso quando a captura nunca estabilizou. Pixels de borda remesclados por anti-aliasing não são contados.
Visualizações Side by side, Swipe, Diff e Blink, e as execuções anteriores do mesmo checkpoint: uma regressão é um fato, quatro seguidas, cada uma um pouco pior, são uma UI em deriva, e quatro idênticas são um teste gravado sobre algo instável.
As baselines são mantidas por navegador e plataforma. Approve this change substitui apenas a imagem daquele checkpoint; Approve all serve para uma mudança que afeta muitos, como um cabeçalho global.
Settings na mesma tela, com seus valores padrão: Compare pixels on every run desligado, Full-page tolerance 1,0%, Element checkpoint tolerance 0,1%, A regression fails the test desligado (a regressão é registrada e o teste continua SECURE; ligado, aparece como BREACHED) e Masked on every photo (CSS selectors) para um relógio ou um anúncio.
Arquivados por regressão em visual-regression: baseline.png, current.png, diff.png (vermelho para o que mudou, âmbar para o anti-aliasing ignorado, cinza para o que não mudou), visual-report.md e result.json, os 10 mais recentes por teste e checkpoint, a cerca de 1 MB por conjunto.
Um checkpoint em um único elemento
nexus patrol TC01 --visual
# dentro do teste: um elemento em vez da página inteira
Um checkpoint de elemento é avaliado com um décimo da tolerância que uma viewport inteira exige: reduzir o escopo torna a verificação rigorosa sem transformar um relógio ou um anúncio em falha. Use quando uma mudança de espaçamento, cor ou layout puder quebrar uma página em que todas as asserções ainda passam. Mascare o que muda de propósito em vez de aumentar a tolerância.
Executive Report
A qualidade de uma release em um único PDF, para quem a aprova.
Escolha um período: todo o histórico, os últimos 7, 30 ou 90 dias, ou um intervalo personalizado.
Um parecer de release com go, atenção ou no-go, com confiança, cobertura e taxa de aprovação.
Falhas com causa raiz e impacto no negócio, estabilidade por teste, achados de segurança, testes de API e a pirâmide de qualidade com resultados end-to-end, de integração e unitários.
As recomendações vêm de regras, não de uma IA.
Estresse e segurança
Chaos Lab
Testes de resiliência, do navegador ao container.
Falhas no navegador: latência de Network (≈3G), um Offline blackout no meio do teste, um CPU throttle 4x no Chromium, ou tudo ao mesmo tempo, com perda de pacotes e pressão de memória além disso.
Infraestrutura: registre um container Docker, ou o app sob teste, e então pause, pare, mate ou reinicie, com ou sem um teste rodando contra ele.
A recuperação é medida com uma sonda de saúde a cada 500 ms: tempo para detectar, tempo para recuperar, disponibilidade. O resultado aparece como RESILIENT, DEGRADED, NOT_RECOVERED ou NOT_INJECTED.
Somente alvos registrados, nunca os containers do próprio Studio. A falha é registrada antes de ser disparada e sempre revertida, e uma execução em que nenhuma falha foi disparada nunca é chamada de resiliente.
Load
Concorrência, percentis e um veredito, direto do próprio engine.
Threads de trabalho no engine, sem ferramenta de carga externa, e um relatório em arquivos statistics.json por rótulo.
Requisições por segundo, p50, p90, p95 e p99, taxa de erro e APDEX. O veredito é PASS, OVER_BUDGET ou UNMEASURED.
Measure Web Vitals under load: uma página real no Chromium amostrada antes, a cada 15 segundos durante e depois da carga, para LCP, CLS, FCP, TTFB e TBT.
Ele só é armado depois que você digita AUTHORIZED, e um alvo que não seja esta máquina pede a confirmação de novo.
Segurança
Executa as verificações de segurança que você configura e registra o que encontrou, com as evidências. Smart Monkey, o scanner DAST, fica na tela Security, em Run a scan.
O Smart Monkey varre um alvo que você está autorizado a testar: XSS, SQL injection, controle de acesso quebrado, IDOR, SSRF, command injection, path traversal, template injection, XXE, open redirects, CORS, cabeçalhos de segurança e flags de cookie, entre outros.
Escolha uma fase ou execute todas: pre-auth, auth-transit, post-auth, http-probes (cookies, CORS, headers, redirecionamentos, arquivos), ssrf, cmdi, xss-oob, sqli (blind, boolean e time-based), idor ou agent (descoberta orquestrada, com orçamento). Uma linha em linguagem simples explica a que você escolheu.
A confirmação out-of-band usa um listener HTTP na sua própria máquina: cada payload leva um token aleatório de 32 caracteres, e SSRF, injeção de comandos e XSS cego só contam quando o alvo responde com ele. Não há callback de DNS nem serviço público como Interactsh ou Burp Collaborator, então nada sobre o seu alvo vai para terceiros.
Authorization to test: um host sem base registrada é recusado antes de qualquer pacote ser enviado, e endereços privados e locais passam sem ela. Cada scan registra sua autorização, operador, alvo, operação e uma janela de 60 minutos, lacrados localmente e nunca enviados a lugar nenhum.
Cada sessão arquiva uma pasta por achado com audit_report.json, screenshot.png, replay.webm quando a gravação sobreviveu e um replay.mjs executável que o nexus replay roda sobre a pasta do achado. A raiz da sessão acrescenta session_summary.json e results.sarif. As 10 sessões mais recentes são mantidas.
SARIF 2.1.0, um resultado por achado: a regra é o CWE do achado, CRITICAL e HIGH viram error, MEDIUM vira warning, o restante vira note, e a localização é a URL testada. O GitHub code scanning e o GitLab o ingerem diretamente, e o nexus monkey o grava em um runner de CI sem o Studio.
A pasta recebe carimbo em UTC e termina em FAST_AUDIT ou DEEP_AUDIT. Um achado está completo em sua própria pasta, então pode ir para quem vai corrigi-lo com seu screenshot, sua gravação e o script que o reproduz; no Evidence Locker, Archive… também mantém essas partes. Use antes de um lançamento, em um alvo seu ou que você tenha autorização para testar.
Settings
Verificações de qualidade dentro de uma execução
Ativadas por execução em Run patrol ou em Settings. Cada uma é apenas consultiva até você torná-la estrita, e então passa a ser um veredito.
Acessibilidade com axe-core conforme WCAG 2.1 AA, além do tamanho da área de toque em celulares.
Web Vitals comparados a orçamentos (LCP 2,5 s, CLS 0,1, INP 200 ms, TTFB 800 ms) e uma auditoria de lazy-loading que classifica de A a F como a página carrega suas imagens.
Detecção de bloqueio: um 403, um 429 ou uma página de desafio aparece como BLOCKED. Os sinais de automação ficam ocultos do site por padrão, e uma única chave desativa isso.
O modo estrito transforma uma quebra em A11Y_VIOLATION, PERFORMANCE_DEGRADED ou SECURITY_VIOLATION.
Timeouts
Quanto tempo um passo do Playwright pode esperar antes de a execução aparecer como TIMEOUT. Quatro ajustes em Settings, em Execution & Timeouts. Os valores abaixo são os padrões.
Settings · Execution & Timeouts
Action timeout (click, fill…)30000 msNEXUS_ACTION_TIMEOUT · every click, fill or wait on a locator
Assertion timeout10000 msNEXUS_EXPECT_TIMEOUT · how long an expect() keeps retrying
Page navigation timeout60000 msNEXUS_NAV_TIMEOUT · page.goto() and its redirects
Per-test hard timeout360 sNEXUS_TC_TIMEOUT · the whole test, six minutes
Um passo pode ter seu próprio limite no código do teste, como no Playwright padrão:
TC91 é um teste de demonstração escrito de propósito contra o texto antigo do link de example.com, More information...; a página agora diz Learn more. O clique esperou os 30000 ms padrão por um link que já não existia e então apareceu como TIMEOUT. Um limite maior não esconde um elemento quebrado: ele continua falhando, só que mais tarde.
AI Providers
A IA por trás da análise forense de falhas e da triagem dos achados do Smart Monkey.
Local only é o padrão: um modelo nesta máquina via Ollama, sem fallback para a nuvem.
Auto, Anthropic ou OpenAI quando você escolher, e a tela informa claramente quando prompts estão saindo da sua rede. As chaves são somente para escrita.
Settings
Os controles por trás das outras telas, em um só lugar.
Integrações: Jira, Xray, Azure DevOps, Slack e Telegram, cada uma desativada até você ativá-la. Jira e Azure Boards mantêm uma issue por teste com falha: uma falha (BREACHED, BREACHED_FLAKY ou CHAOS_BREACHED) ou um TIMEOUT a abre, uma repetição comenta nela, uma passagem limpa a fecha. Nunca um bloqueio, uma queda, um site inacessível ou um erro de configuração. Integrações
Evidências e retenção: quantos relatórios de erros, capturas de tela de testes aprovados e sessões de varredura cada teste mantém.
Seletores e autocorreção, ritmo adaptativo conforme a pressão sobre a RAM e os sinais de automação que o navegador exibe.
O inventário completo
Mais 19 recursos, em resumo
Nexus Recorder
Grave um fluxo em Playwright (JavaScript, TypeScript, Python, C#) ou Selenium (JavaScript, Python, Java, C#): JavaScript e Python no computador, em dispositivos móveis emulados ou em um celular Android real, e as demais linguagens no computador; ou grave as chamadas de API que o aplicativo faz. Sem IA no processo.
Test Adapter
Cole um teste ou indique uma pasta: Playwright ou Selenium em JavaScript, TypeScript ou Python. Exibe as diferenças, mantém todas as asserções e faz uma execução de ensaio antes de considerar o teste válido.
Repair line
A partir da linha em que um teste falhou: regrave apenas essa etapa ou troque o seletor, dos mais robustos até o XPath por último. A versão antiga permanece na linha do tempo do arquivo.
Autocorreção que pede permissão antes
Após uma falha, o Studio reexecuta o teste até essa linha em segundo plano e deixa seletores candidatos prontos. A execução continua em vermelho até você escolher um.
Integridade dos localizadores e mapas de seletores
Lista os localizadores frágeis do teste aberto e os corrige no próprio teste. Um mapa de seletores varre uma página sem IA e avalia cada seletor encontrado.
Watch
Reexecuta uma seleção em intervalos de 5 minutos a 24 horas, ou uma única vez em uma data, e alerta apenas quando um estado muda. Continua em execução depois que o Studio é fechado.
CI/CD, configurado na tela
Gera o pipeline do GitHub Actions ou do GitLab CI, com uma regressão noturna, e o valida localmente primeiro. Para o próprio pipeline: um código de saída rigoroso e JUnit XML.
Feature flags
Executa um teste uma vez para cada variante ativada e desativada das suas sinalizações e identifica a combinação em que ele falha.
Pirâmide de qualidade
Importe JUnit XML do Jest, Vitest, pytest, Maven ou gotestsum e veja os resultados de testes unitários e de integração ao lado das suas execuções de ponta a ponta.
Classificação e previsão de risco
Classifica cada teste em cada identidade pela frequência com que oscila, falha ou consome tempo. Uma regressão logística baseada no seu próprio histórico adiciona uma pontuação de risco, recorrendo à EWMA quando há poucos dados.
Regressão visual
Compare lado a lado, por arraste, por diferenças ou por alternância visual com referências mantidas por navegador e plataforma, e aprove uma alteração com um clique.
Acessibilidade
Verificações WCAG 2.1 AA com axe-core, além do tamanho dos alvos de toque em celulares. Apenas informativas por padrão; no modo estrito uma violação se torna um A11Y_VIOLATION.
Web Vitals e carregamento sob demanda
LCP, CLS, INP, FCP, TTFB e TBT, ativados por padrão e avaliados conforme limites, além de uma auditoria de carregamento sob demanda que avalia como a página carrega suas imagens.
Detecção de bloqueios
Um 403, um 429 ou uma página de verificação contra robôs é interpretado como BLOCKED, não como uma falha do seu aplicativo, e nunca gera um chamado no Jira.
Suítes de testes de API
REST e GraphQL: status, campos, tipos e limites de latência, com vereditos próprios e a requisição, a resposta e o esquema registrados como evidências.
Relatório executivo
Um PDF com uma recomendação de lançamento (prosseguir, cautela ou não prosseguir), cobertura, estabilidade, falhas por causa raiz, problemas de segurança encontrados e recomendações baseadas em regras.
Jira, Xray, Azure DevOps, Slack e Telegram
Jira e Azure Boards mantêm uma issue por teste com falha, com a captura de tela anexada, e a fecham quando o teste passa. Xray e Azure Test Plans recebem os resultados de cada execução de CI. O Slack recebe alertas em Block Kit, e o Telegram recebe alertas de um bot seu, pareado por QR.
Docker e SSH
O engine executa a mesma suíte no contêiner runner na máquina do Studio, ou via SSH em uma VPS, na mesma imagem de contêiner, com os mesmos veredictos. Cada workspace escolhe seu runtime. Via SSH, as evidências permanecem naquele host até que você as baixe.
Aplicativo para computador
Nexus Studio para Windows 11 x64, no seu PC ou em um mini PC com 16 GB de RAM ou mais: execuções, evidências, dispositivos e histórico em uma única janela.
Experimente cada tela no seu próprio aplicativo.
Grátis por 30 dias, com todos os recursos, nas suas máquinas. Sem necessidade de cartão.