Je tests blijven in Playwright, Selenium en pytest. We vervangen ze niet. We maken ze geschikt voor zakelijk gebruik, en alles blijft van jou: code, bewijsmateriaal en geschiedenis.
Elk scherm van Studio, en wat het doet.
Via deze schermen worden tests gemaakt, uitgevoerd, gepland en beoordeeld. De opdrachtregel blijft beschikbaar voor pipelines.
Zijn de tests standaardcode voor Playwright, Selenium en pytest?
Hoe de bestanden eruitzien
Ja. Elke test die Studio schrijft of importeert, bestaat uit frameworkcode die je team al kent. De engine voegt daar bewijsmateriaal, telemetrie, beoordelingen en automatisch herstel aan toe; hij vervangt de code niet.
Playwright, JavaScript en TypeScript: een Playwright Test-bestand. De fixture-import bovenaan is van Studio; de inhoud bestaat uit page, locators en expect.
Playwright, Python: gewoon pytest-playwright, een test_-functie die page als argument krijgt. Deze draait met alleen pytest.
Selenium, Python: pytest met een driver-fixture. Het bestand conftest.py van de werkruimte valt terug op een gewone WebDriver wanneer de test niet door de engine wordt uitgevoerd.
Selenium, JavaScript: selenium-webdriver-code binnen run({ driver, By, until }). De runner van Studio maakt de driver aan en sluit deze af.
Selenium, Java: JUnit 5, @ExtendWith(NexusExtension.class), een WebDriver-parameter die de extensie je aanreikt. Bouwt met Maven.
Selenium en Playwright, C#: NUnit, een klasse die NexusSeleniumTest of NexusPageTest uitbreidt. Bouwt met .NET.
API-tests gebruiken het eigen JavaScript-formaat van Studio.
Hoe u kunt overstappen
Uw tests, bewijsmateriaal en geschiedenis zijn bestanden in uw werkruimte. Om de testsuite zonder Nexus uit te voeren: de Python-tests werken ongewijzigd, de Playwright-imports in JavaScript verwijzen weer naar @playwright/test (een visueel controlepunt moet worden vervangen als u er een hebt toegevoegd), en de Selenium-functies run() in JavaScript krijgen een paar regels om een driver te starten. API-tests moeten worden herschreven voor een andere runner.
Maken
Patrol
Hier worden tests geschreven, uitgevoerd en gepland. De boomstructuur toont elke test met een logo per browser, gekleurd op basis van de status, en de uitvoeringsbalk boven de editor geeft in woorden aan wat elke browser doet.
Vijf tabbladen: Testgevallen, Patrol uitvoeren, Nexus Recorder, AI-schrijver en Test Adapter.
Doelen: Desktopmatrix (Chromium, Firefox en WebKit), Mobiel geëmuleerd, Echt apparaat (een echte Android-telefoon), of Desktop + echt apparaat voor de pc en een Android-telefoon tegelijk, waarbij het bewijsmateriaal per identiteit wordt opgeslagen.
Standaard één browser tegelijk, of maximaal drie tegelijk en meerdere tests tegelijk als u dat instelt. Selenium draait op Chromium en Firefox.
Nieuwe tests draaien eerst proef in de sandbox, die geen geschiedenis vastlegt, voordat hun uitvoeringen meetellen.
Functievlaggen: elke vlag wordt ingeschakeld, uitgeschakeld of in beide standen getest, doorgegeven via een cookie, header, lokale opslag of querystring, en de kaart vermeldt bij welke combinatie een test mislukt.
AI writer
Schrijft een test op basis van uw beschrijving, met de AI van uw keuze: uw eigen AI-opdrachtregeltool (Claude Code, Codex of opencode) of een API, een lokaal Ollama-model, Anthropic of OpenAI. Deze schrijft Playwright in JavaScript, TypeScript, Python of C#, en Selenium in JavaScript, Python, Java of C#.
Drie werkwijzen: Chatten met mijn AI, Stap voor stap (de testgevallen plannen en de door u gekozen gevallen schrijven), of Mijn eigen agent gebruiken, een opdrachtomschrijving voor de agent in uw eigen terminal.
Deze kan maximaal vier pagina's van uw app lezen, alleen-lezen en zonder in te loggen, zodat de test bestaande elementen benoemt.
De CLI draait zonder tools in een lege map, of in een eigen alleen-lezen sandbox, en u geeft vooraf toestemming voor elke bestemming.
Elke test doorloopt de Vet, zeven controles zonder AI: de test heeft een test-id, is syntactisch geldig, gebruikt de fixture van Studio, benadert niets buiten de pagina, heeft assertions die kunnen mislukken, bevat geen sleeps, geforceerde klikken of mocks, en geen kwetsbare locators.
Uitproberen voert de test tweemaal uit in Chromium als concept, zonder bewijsmateriaal of geschiedenis vast te leggen. Accepteren blijft uitgeschakeld totdat u de code hebt geopend.
Uw AI, via de eigen opdrachtregel
Claude Code
Codex
opencode
De schrijver start de CLI waarbij u op deze computer al bent aangemeld, zodat u geen API-sleutel in Studio hoeft te plakken. Uw abonnement bij die tool blijft van toepassing. U kunt ook een API-sleutel van een aanbieder of een lokaal Ollama-model gebruiken.
Hoe Studio Claude Code start, argument voor argument:
claude -p --output-format json --tools "" --disable-slash-commands
De prompt wordt via stdin ingevoerd. Geen hulpmiddelen, geen MCP-servers, geen eigen instellingen of hooks, niets dat als sessie wordt opgeslagen, en een uitgavenlimiet per aanroep: standaard één Amerikaanse dollar.
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
Legt vast wat je in de browser doet als testcode. Er komt geen AI aan te pas: wat je aanklikt, wordt vastgelegd.
Neem op voor Desktop, Mobiele emulatie of een Echt apparaat: een Android-telefoon via USB, waarbij Chrome op de telefoon zelf wordt aangestuurd. Voorlopig alleen JavaScript en Python; Java en C# nemen op op desktop.
Schrijft Playwright in JavaScript, TypeScript, Python of C#, of Selenium in JavaScript, Python, Java of C#.
Of legt de API-aanroepen van de pagina vast als REST- of GraphQL-tests, zonder authenticatie- of cookieheaders, waarbij velden die geheimen lijken te bevatten worden omgezet in omgevingsvariabelen.
Selectorkaarten scannen een pagina zonder AI, beoordelen elke selector als HOOG, GEMIDDELD of LAAG, en bewaren de kaart op je schijf.
Test Adapter
Brengt de tests die je team al heeft naar de Studio, zonder ze met de hand te herschrijven.
Plak een test, sleep een bestand of wijs een map aan: Playwright of Selenium in JavaScript, TypeScript of Python, met Playwright Test, mocha, jest, pytest of unittest.
Herschrijft op basis van regels, niet met AI: het starten en instellen van de browser verhuist naar de fixture van de Studio, terwijl asserties, voorwaarden, lussen en wachtinstructies ongewijzigd blijven.
Toont de verschillen naast elkaar en het aantal asserties voor en na. Een verloren assertie blokkeert de import tenzij je die accepteert, regel voor regel.
Optionele AI behandelt alleen wat niet door een regel wordt gedekt, en de code ervan ondergaat de strenge Vet-controle. Behouden tests worden in de sandbox geoefend tot drie foutloze uitvoeringen zijn bereikt.
Cypress, WebdriverIO, Robot Framework, Java en C# worden niet ondersteund.
Regel repareren en zelfherstel
Wat er gebeurt als een locator niet meer werkt. Niets wordt achter je rug gerepareerd.
Zelfherstel, standaard ingesteld op Voorstellen: na een fout voert een browser op de achtergrond de test opnieuw uit tot aan de mislukte regel en leest de pagina, zodat de kandidaten klaarstaan. Geen AI, en de test blijft rood.
Regel repareren, vanuit de kantlijn van die regel: neem alleen die stap opnieuw op, of vervang de selector, met de sterkste eerst en XPath als laatste. De wijziging verschijnt onopgeslagen in de editor, en door op te slaan geef je je goedkeuring.
Vraag mijn AI welke kan de kandidaten opnieuw rangschikken, maar er nooit een toevoegen. De vorige versie van het bestand blijft in de tijdlijn staan.
Locatorstatus toont de zwakke locators van de geopende test en repareert ze op dezelfde manier.
Uitvoeren
Devices & Mobile
Echte Android-telefoons, via USB verbonden met de machine waarop de engine draait. Geen apparatenfarm, geen minuten om te kopen.
Meerdere telefoons tegelijk, via adb en het Chrome DevTools Protocol, met een handleiding om de eerste te verbinden.
Scherm bekijken spiegelt een telefoon op je pc: bedienbaar vanuit dit scherm, en alleen te bekijken wanneer je het vanuit Patrol opent.
Mobiele emulatie, met de apparaatprofielen van Playwright: Chrome op Android, een iPhone of iPad op WebKit, de engine van Safari, en een profiel voor een eenvoudig apparaat. Echte apparaten zijn uitsluitend Android-telefoons: een iPhone of iPad wordt geëmuleerd, nooit een fysiek Apple-apparaat, dus het iOS-toetsenbord en de systeemgebaren worden niet getest.
Tests op een telefoon worden één voor één uitgevoerd, en een telefoonuitvoering blijft altijd op de machine waarop de telefoon is aangesloten.
Watch
In Patrol, onder Patrouille uitvoeren: voert een selectie automatisch opnieuw uit volgens een tijdschema, zonder toezicht.
Herhalen met een interval van 5 minuten tot 24 uur, of Eenmalig, op een datum. Het stopt wanneer je het stopzet, na een aantal uitvoeringen, of op een datum.
Het draait als een afzonderlijk proces, dus het sluiten van de Studio stopt het niet. De machine moet aanstaan: tijdens de slaapstand wachten geplande uitvoeringen of worden ze overgeslagen.
Meldingen via Telegram of Slack alleen wanneer een status verandert, als WAARSCHUWING of HERSTELD.
CI/CD
Stelt de pijplijn op het scherm in in plaats van in een YAML-editor.
Schrijft het GitHub Actions- of GitLab CI-bestand: browsers, instellingen voor visuele tests, toegankelijkheid, chaos, lussen en herhaalpogingen, en op GitHub een nachtelijke regressietest op een UTC-tijdstip met de tests die je kiest.
Draait op een runner in de cloud, je eigen machine, of je machine met Docker, met een runnerscript voor bash of PowerShell.
Valideert de pijplijn eerst lokaal, en voert daarna vanuit hetzelfde scherm een commit en push uit. Uitvoeringen op afstand kunnen hier worden gestart en het bijbehorende bewijsmateriaal kan worden gedownload.
Ook via scripts te gebruiken voor CI: nexus ci sluit af met code 0 bij slagen, 1 bij mislukken en 2 als er niets is uitgevoerd, en schrijft JUnit XML. Voer je tests uit vanuit CI/CD
Pipeline
GitHub ActionsGitLab CI
browserschromiumfirefoxwebkit
nightly regression0 6 * * *
runs onCloud-hostedMy machineMy machine + Docker
generate
Docker en SSH
De Studio is een bureaubladtoepassing voor Windows 11, op je pc of, optioneel, op een mini-pc met Windows 11. Van daaruit voert de engine de testsuites van een werkruimte uit op deze machine, in Docker op die machine, of via SSH op een andere machine. De Studio zelf draait nooit in Docker of via SSH.
In Docker draait de testsuite in de runnercontainer op dezelfde schijf, zodat het bewijsmateriaal zoals gebruikelijk in je werkruimte terechtkomt.
Via SSH, op een VPS met Ubuntu 24.04 LTS, Docker Engine en Compose v2, toegankelijk met sleutelgebaseerde authenticatie: de engine voert de testsuite daar uit in dezelfde containerimage als lokaal in Docker, en het bewijsmateriaal blijft daar totdat je het ophaalt.
Echte Android-telefoons, Selenium- en Python-testsuites, infrastructuurchaos en het importeren van resultaten draaien altijd op de eigen machine van de Studio.
De bovenbalk toont waar de werkruimte draait en hoeveel RAM en CPU deze heeft. Adaptieve afstemming past, wanneer je die inschakelt, het aantal gelijktijdige browsers aan het vrije RAM aan.
Welk bewijsmateriaal bewaart Studio van een uitvoering?
Evidence Locker
Elk resultaat, opgeslagen waar je het kunt lezen en beoordelen.
Secties voor testresultaten, de samenvatting van de uitvoering, foutrapporten, geslaagde tests, historische inzichten, risicorangschikking, Core Web Vitals, beveiligingsaudits, chaosbestendigheid en API-tests.
Elke registratie biedt Rapport, Metagegevens, Telemetrie, Ruw logboek en AI-analyse, waarvan de laatste standaard is ingeschakeld en wordt ingevuld als je AI is gekoppeld. Bij een mislukking worden het forensische rapport, de metagegevens en één schermafbeelding van het laatste beeld opgeslagen, plus de video bij een echte mislukking (je kiest voor welke oordelen bij Instellingen, onder Foutvideo bewaren voor); het ruwe logboek bevat consolefouten, mislukte verzoeken, beveiligingsproblemen en paginafouten. Er wordt ook een trace bewaard zolang tracering is ingeschakeld, wat standaard het geval is.
Triage: Echte bug of Vals alarm, met een verplichte reden, of deze nog meetelt, en wat er met de bestanden gebeurt: bewaren, archiveren wat belangrijk is, of verwijderen.
Deel via Telegram, Slack, Jira of Azure Boards, kopieer een afbeelding, of exporteer een volledig HTML-rapport. Niets verlaat de machine totdat je een kanaal kiest en op verzenden drukt.
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
REST- en GraphQL-tests met zeven eigen oordelen. Ze worden net als elke andere test vanuit Patrol uitgevoerd, en elk eindpunt krijgt een eigen map in het gedeelte voor API-tests van de Evidence Locker.
API_SECURE: aan elke assertie is voldaan en de antwoordstructuur komt overeen met de laatst vastgelegde structuur. API_FLAKY: de test slaagde bij een nieuwe poging. API_DRIFTED: de test slaagde, maar de structuur is gewijzigd, en het verschillenoverzicht vermeldt elk toegevoegd of verwijderd veld en elk veld waarvan het type is gewijzigd. Een afwijking telt als geslaagd totdat je strikte controle inschakelt.
API_BREACHED: aan een assertie is niet voldaan. API_DEGRADED: trager dan de toegestane responstijd, standaard 2000 ms, en alleen een oordeel als strikte prestatiecontrole is ingeschakeld. API_VULNERABLE: een verzoek zonder inloggegevens kreeg antwoord waar een 401 of 403 werd verwacht; alleen een ontbrekende beveiligingsheader leidt nooit tot dit oordeel. API_BLOCKED: een 429, of een 403 met een Cloudflare- of Akamai-signatuur, waardoor het verzoek je product nooit heeft bereikt.
Op het scherm: tegels voor eindpunten, geslaagde tests, uitvoeringen boven de toegestane responstijd, gewijzigde structuur, ooit kwetsbaar en traagste waarneming; de filters alle, mislukt, afwijkend en kwetsbaar; en een tabel met eindpunt, oordeel, min, mediaan, p95, max, n en slagingspercentage. Een eindpunt met minder dan 20 waarnemingen toont een streepje, geen percentiel.
Klik op een uitvoering om die te openen met zes tabbladen: Rapport, Verzoek, Antwoord, Prestaties, Schema en AI-analyse, waarvan de laatste wordt ingevuld als je AI is gekoppeld. Bij een mislukte stap in een stroom kun je kiezen voor Opnieuw uitvoeren vanaf stap N en Mislukte stap opnieuw uitvoeren.
Per uitvoering opgeslagen in api-evidence: request.json, response.json, performance.json, schema.json, report.md en metadata.json, met geheimen afgeschermd in headers en inhoud. report.md eindigt met een curl-opdracht die de aanroep opnieuw uitvoert. Van geslaagde uitvoeringen worden de nieuwste 20 per test bewaard; mislukte uitvoeringen worden altijd bewaard.
Een test maken: Nieuwe test, API, vraagt om een Type: REST, GraphQL of SOAP via HTTP. Elk Type begint met een testgeval dat zonder aanpassingen op een openbaar eindpunt draait, en de eerste regel van het bestand legt het Type vast, zodat de bestandsboom het toont en het verplaatsen van het bestand het niet verandert. SOAP is XML die als tekst wordt verzonden en met tekstregels wordt gecontroleerd, zonder XML-parser. Omgevingen met namen zoals staging en prod behouden hun eigen basis-URL, en een token wordt alleen als de naam van de bijbehorende variabele bewaard. Mappen kunnen worden genest.
API Flow Recorder: leg in de Nexus Recorder de aanroepen van de pagina vast en kies vervolgens Bekijk de opname voordat de testsuite wordt geschreven. Aanroepen vermeldt elke aanroep met methode, pad, status, categorie en reden. Alleen bedrijfsgerelateerde, authenticatie-, lees- en statuswijzigende API-aanroepen worden aanvankelijk in de testsuite opgenomen; telemetriebakens, externe hosts, bestanden en preflight-verzoeken worden aanvankelijk uitgesloten, en je kunt ze weer aanvinken. Stromen geven een waarde uit een antwoord door aan een later verzoek, zoals een inlogtoken, en Afschermingen vermeldt de velden die geheimen lijken te bevatten en zijn gemarkeerd als nooit op te slaan.
Vanuit de beoordeling: Test genereren schrijft de testsuite, OpenAPI genereren schrijft een 3.1-concept met typen en statuscodes en zonder vastgelegde waarden, en Belastingstest opent de aanroepen als een belastingstestplan.
Een afwijking, zoals het tabblad Schema die interpreteert
APIT311 is een demotest die bewust is geschreven om af te wijken: een live-API verandert niet op verzoek, dus wisselt de test bij opeenvolgende uitvoeringen tussen twee cataloguseindpunten, en bij de tweede uitvoering staat er API_DRIFTED. Een afwijking is de verandering die een afnemer in productie tegenkomt terwijl een controle op status 200 nog steeds slaagt.
Elke test op elke identiteit, uitvoering na uitvoering.
Tabbladen voor de samenvatting, betrouwbaarheid, prestaties, API, fouten, dekking, kwaliteit, en unit- en integratieresultaten.
Trends per sessie, dag of week: Verslechterd, Hersteld, Nog steeds defect, Trager. De identiteitsmatrix zet elke test af tegen elke browser en elk apparaat.
Unit en integratie: importeer JUnit XML uit Jest, Vitest, pytest, Maven of gotestsum, gescheiden van de end-to-end-cijfers.
Risico, in de Evidence Locker en in Patrol: een rangschikking op basis van hoe vaak een test van uitkomst wisselt, faalt of tijd kost, waarbij een test pas na vijf uitvoeringen als instabiel wordt aangemerkt, en een voorspeld risico op basis van logistische regressie over je geschiedenis, met EWMA als terugvaloptie bij weinig gegevens.
Pixelvergelijking met de afbeeldingen die je hebt goedgekeurd. De eerste uitvoering met --visual legt de referentie vast en elke volgende uitvoering wordt daarmee vergeleken. Het scherm opent met wat een beslissing vereist: Pixels verschoven.
Elke regressie krijgt een kaart: de test, het controlepunt, het aandeel verschoven pixels afgezet tegen de tolerantie, "N van M px", de afmetingen, hoeveel gebieden zijn veranderd en een opmerking als het beeld tijdens de opname niet stabiel werd. Randpixels die door anti-aliasing opnieuw zijn gemengd, tellen niet mee.
De weergaven Naast elkaar, Vegen, Verschil en Knipperen, en de eerdere uitvoeringen van hetzelfde controlepunt: één regressie is een feit, vier op rij die steeds iets erger worden wijzen op een verschuivende gebruikersinterface, en vier identieke regressies wijzen op een test die is vastgelegd op basis van iets instabiels.
Referentiebeelden worden per browser en platform bewaard. Deze wijziging goedkeuren vervangt alleen de afbeelding van dat controlepunt; Alles goedkeuren is bedoeld voor een wijziging die veel controlepunten raakt, zoals een algemene paginakop.
Instellingen op hetzelfde scherm, met hun standaardwaarden: Pixels bij elke uitvoering vergelijken uit, Tolerantie voor de volledige pagina 1.0%, Tolerantie voor elementcontrolepunten 0.1%, Een regressie laat de test mislukken uit (de regressie wordt vastgelegd en de test blijft SECURE; indien ingeschakeld wordt dit BREACHED), en Op elke foto gemaskeerd (CSS-selectors) voor een klok of advertentie.
Per regressie opgeslagen in visual-regression: baseline.png, current.png, diff.png (rood voor gewijzigd, amber voor genegeerde anti-aliasing, grijs voor ongewijzigd), visual-report.md en result.json, de nieuwste 10 per test en controlepunt met ongeveer 1 MB per set.
Een controlepunt op één element
nexus patrol TC01 --visual
# binnen de test: één element in plaats van de hele pagina
Voor een elementcontrolepunt geldt een tiende van de tolerantie die een volledig weergavevenster nodig heeft: door de reikwijdte te beperken wordt de controle streng zonder dat een klok of advertentie de test laat mislukken. Gebruik dit wanneer een wijziging in afstand, kleur of indeling een pagina kan verstoren terwijl alle testbeweringen nog slagen. Maskeer wat bewust verandert in plaats van de tolerantie te verhogen.
Executive Report
De kwaliteit van een release in één PDF, voor wie de goedkeuring geeft.
Kies een periode: alles, de afgelopen 7, 30 of 90 dagen, of een aangepast bereik.
Een releaseadvies: doorgaan, voorzichtigheid of niet doorgaan, met betrouwbaarheid, dekking en slagingspercentage.
Fouten met hun hoofdoorzaak en bedrijfsimpact, stabiliteit per test, beveiligingsbevindingen, API-tests en de kwaliteitspiramide van end-to-end-, integratie- en unitt testresultaten.
Aanbevelingen komen voort uit regels, niet uit AI.
Belasting en beveiliging
Chaos Lab
Weerbaarheidstests, van de browser tot de container.
Browserstoringen: Netwerk (≈3G)-vertraging, een Offline onderbreking halverwege de test, een CPU-vertraging 4x in Chromium, of alles tegelijk, met daarbovenop pakketverlies en geheugendruk.
Infrastructuur: registreer een Docker-container of de te testen app en pauzeer, stop, beëindig geforceerd of herstart deze, met of zonder een actieve test erop.
Herstel wordt elke 500 ms gemeten met een statuscontrole: detectietijd, hersteltijd, beschikbaarheid. De uitkomst is RESILIENT, DEGRADED, NOT_RECOVERED of NOT_INJECTED.
Alleen geregistreerde doelen, nooit de eigen containers van Studio. De storing wordt vastgelegd voordat deze wordt geactiveerd en altijd weer opgeheven, en een geslaagde test waarbij geen storing optrad wordt nooit als weerbaar aangemerkt.
Load
Gelijktijdigheid, percentielen en een oordeel, rechtstreeks uit de engine.
Werkthreads in de engine, geen externe belastingstool, en een rapport in statistics.json-bestanden per label.
Verzoeken per seconde, p50, p90, p95 en p99, foutpercentage en APDEX. Het oordeel is PASS, OVER_BUDGET of UNMEASURED.
Meet Web Vitals onder belasting: metingen op een echte Chromium-pagina vóór, elke 15 seconden tijdens, en na de belasting, voor LCP, CLS, FCP, TTFB en TBT.
Activering gebeurt pas nadat je AUTHORIZED typt, en bij een ander doel dan deze machine wordt opnieuw om toestemming gevraagd.
Beveiliging
Voert de beveiligingscontroles uit die je instelt en legt de bevindingen vast, met het bewijsmateriaal. Smart Monkey, de DAST-scanner, staat op het scherm Beveiliging onder Een scan uitvoeren.
Smart Monkey scant een doel dat je mag testen op onder meer: XSS, SQL-injectie, gebrekkige toegangscontrole, IDOR, SSRF, opdrachtinjectie, padtraversal, sjablooninjectie, XXE, open omleidingen, CORS, beveiligingsheaders en cookievlaggen.
Kies een fase of voer ze allemaal uit: pre-auth, auth-transit, post-auth, http-probes (cookies, CORS, headers, omleidingen, bestanden), ssrf, cmdi, xss-oob, sqli (blind, booleaans en tijdgebaseerd), idor, of agent (georkestreerde verkenning binnen een budget). Een regel in begrijpelijke taal legt uit welke je hebt gekozen.
Out-of-band-bevestiging gebruikt een HTTP-listener op je eigen machine: elke payload bevat een willekeurig token van 32 tekens, en SSRF, commando-injectie en blinde XSS tellen alleen mee wanneer het doel daarmee terugbelt. Er is geen DNS-terugkoppeling en geen openbare dienst zoals Interactsh of Burp Collaborator, dus er gaat geen informatie over je doel naar een derde partij.
Toestemming om te testen: een host zonder vastgelegde grondslag wordt geweigerd voordat er een pakket wordt verzonden, terwijl privé- en lokale adressen zonder grondslag worden toegelaten. Elke scan legt de toestemming, uitvoerder, het doel, de bewerking en een tijdvenster van 60 minuten vast, lokaal verzegeld en nooit ergens naartoe verzonden.
Elke sessie slaat per bevinding één map op met audit_report.json, screenshot.png, replay.webm als de opname bewaard is gebleven, en een uitvoerbaar replay.mjs dat nexus replay uitvoert op de map van de bevinding. In de hoofdmap van de sessie komen session_summary.json en results.sarif. De nieuwste 10 sessies worden bewaard.
SARIF 2.1.0, één resultaat per bevinding: de regel is de CWE van de bevinding, CRITICAL en HIGH worden error, MEDIUM wordt warning, de rest note, en de locatie is de onderzochte URL. GitHub code scanning en GitLab lezen dit rechtstreeks in, en nexus monkey schrijft het op een CI-runner zonder de Studio.
De map krijgt een tijdstempel in UTC en eindigt op FAST_AUDIT of DEEP_AUDIT. Een bevinding is compleet in een eigen map en kan dus naar degene die haar verhelpt, met de schermafbeelding, de opname en het script dat haar reproduceert; in de Evidence Locker bewaart Archiveren… ook die onderdelen. Gebruik dit vóór een release, op een doel dat je bezit of waarvoor je toestemming hebt om het te testen.
Settings
Kwaliteitscontroles tijdens een uitvoering
Per uitvoering in te schakelen in Patrouille uitvoeren of in Instellingen. Elke controle is adviserend totdat je deze strikt maakt, waarna deze bepalend wordt voor het oordeel.
Toegankelijkheid met axe-core volgens WCAG 2.1 AA, plus de grootte van aanraakdoelen op telefoons.
Web Vitals getoetst aan grenswaarden (LCP 2.5 s, CLS 0.1, INP 200 ms, TTFB 800 ms), en een controle op uitgesteld laden die met A tot F beoordeelt hoe de pagina afbeeldingen laadt.
Blokkadedetectie: een 403, een 429 of een verificatiepagina krijgt de status BLOCKED. Automatiseringssignalen worden standaard voor de site verborgen, en met één schakelaar zet je dat uit.
In de strikte modus leidt een overtreding tot A11Y_VIOLATION, PERFORMANCE_DEGRADED of SECURITY_VIOLATION.
Timeouts
Hoelang een Playwright-stap mag wachten voordat de uitvoering de status TIMEOUT krijgt. Vier instellingen in Instellingen, onder Uitvoering & Time-outs. De onderstaande waarden zijn de standaardwaarden.
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
Een stap kan een eigen limiet krijgen in de testcode, zoals gebruikelijk in Playwright:
TC91 is een demonstratietest die bewust is geschreven voor de oude linktekst van example.com, More information...; op de pagina staat nu Learn more. De klik wachtte de standaard 30000 ms op een link die niet meer bestond en kreeg daarna de status TIMEOUT. Een langere limiet verbergt een defect element niet: de test faalt nog steeds, maar later.
AI Providers
De AI achter de forensische analyse van fouten en de triage van Smart Monkey-bevindingen.
Alleen lokaal is de standaard: een model op deze machine via Ollama, zonder terugvaloptie naar de cloud.
Automatisch, Anthropic of OpenAI als je daarvoor kiest, en het scherm geeft duidelijk aan wanneer prompts je netwerk verlaten. Sleutels kunnen alleen worden opgeslagen, niet uitgelezen.
Settings
De schakelaars achter de andere schermen, op één plek.
Integraties: Jira, Xray, Azure DevOps, Slack en Telegram, elk uitgeschakeld totdat je ze inschakelt. Jira en Azure Boards houden één ticket per falende test bij: een fout (BREACHED, BREACHED_FLAKY of CHAOS_BREACHED) of een TIMEOUT opent het, een herhaling voegt een opmerking toe, een geslaagde test sluit het. Nooit bij een blokkade, een crash, een onbereikbare site of een configuratiefout. Integraties
Bewijsmateriaal en bewaring: hoeveel foutrapporten, schermafbeeldingen van geslaagde tests en scansessies elke test bewaart.
Selectors en zelfherstel, adaptief tempo op basis van RAM-druk, en de automatiseringssignalen die de browser toont.
Het volledige overzicht
Nog 19 mogelijkheden, in één oogopslag
Nexus Recorder
Neem een proces op in Playwright (JavaScript, TypeScript, Python, C#) of Selenium (JavaScript, Python, Java, C#): JavaScript en Python op de desktop, op een geëmuleerd mobiel apparaat of een echte Android-telefoon, de rest op de desktop; of neem de API-aanroepen op die de app doet. Zonder tussenkomst van AI.
Test Adapter
Plak een test of wijs een map aan: Playwright of Selenium in JavaScript, TypeScript of Python. Het toont de verschillen, behoudt elke assertie en voert de test eerst op proef uit voordat die meetelt.
Repair line
Vanaf de regel waarop een test mislukte: neem alleen die stap opnieuw op, of vervang de selector, de betrouwbaarste eerst en XPath als laatste. De oude versie blijft in de tijdlijn van het bestand staan.
Zelfherstel dat eerst toestemming vraagt
Na een fout speelt de Studio de test op de achtergrond opnieuw af tot aan die regel en zet mogelijke selectors klaar. De uitvoering blijft rood totdat je er een kiest.
Locatorkwaliteit en selectoroverzichten
Toont de zwakke locators van de geopende test en herstelt ze ter plekke. Een selectoroverzicht scant een pagina zonder AI en beoordeelt elke gevonden selector.
Watch
Voert een selectie opnieuw uit met een interval van 5 minuten tot 24 uur, of eenmalig op een bepaalde datum, en waarschuwt alleen wanneer een status verandert. Dit blijft doorgaan nadat de Studio is gesloten.
CI/CD, ingesteld op het scherm
Schrijft de GitHub Actions- of GitLab CI-pijplijn, met een nachtelijke regressietest, en valideert deze eerst lokaal. Voor de pijplijn zelf: een strikte exitcode en JUnit XML.
Feature flags
Voert een test eenmaal uit voor elke aan- en uitvariant van je vlaggen en vermeldt bij welke combinatie de test mislukt.
Kwaliteitspiramide
Importeer JUnit XML uit Jest, Vitest, pytest, Maven of gotestsum en bekijk unit- en integratieresultaten naast je end-to-end-testuitvoeringen.
Risicorangschikking en -voorspelling
Rangschikt elke test per identiteit op basis van hoe vaak deze van resultaat wisselt, mislukt of tijd kost. Een logistische regressie op basis van je eigen geschiedenis voegt een risicoscore toe, met EWMA als terugvaloptie bij weinig gegevens.
Visuele regressie
Vergelijk naast elkaar, met een veegbeweging, via verschillen of afwisselende weergave met referentiebeelden per browser en platform, en keur een wijziging met één klik goed.
Toegankelijkheid
WCAG 2.1 AA-controles met axe-core, plus de grootte van aanraakdoelen op telefoons. Standaard adviserend; in de strikte modus wordt een overtreding een A11Y_VIOLATION.
Web Vitals en uitgesteld laden
LCP, CLS, INP, FCP, TTFB en TBT, standaard ingeschakeld en getoetst aan grenswaarden, plus een controle op uitgesteld laden die beoordeelt hoe de pagina afbeeldingen laadt.
Blokkadedetectie
Een 403, een 429 of een pagina met een botcontrole wordt geïnterpreteerd als BLOCKED, niet als een fout in je app, en leidt nooit tot een Jira-ticket.
API-testsuites
REST en GraphQL: status, velden, typen en latentielimieten, met eigen beoordelingen en het verzoek, het antwoord en het schema opgeslagen als bewijsmateriaal.
Managementrapport
Een PDF met een releaseadvies (doorgaan, voorzichtigheid of niet doorgaan), dekking, stabiliteit, fouten per hoofdoorzaak, beveiligingsbevindingen en op regels gebaseerde aanbevelingen.
Jira, Xray, Azure DevOps, Slack en Telegram
Jira en Azure Boards houden één ticket per falende test bij, met de schermafbeelding als bijlage, en sluiten het wanneer de test slaagt. Xray en Azure Test Plans ontvangen de resultaten van elke CI-uitvoering. Slack ontvangt Block Kit-meldingen en Telegram ontvangt meldingen van je eigen bot, gekoppeld via QR.
Docker en SSH
De engine voert dezelfde testsuite uit in de runnercontainer op de machine van de Studio, of via SSH op een VPS in dezelfde containerimage, met dezelfde beoordelingen. Elke werkruimte kiest haar uitvoeromgeving. Via SSH blijft het bewijsmateriaal op die host totdat je het ophaalt.
Desktopapp
Nexus Studio voor Windows 11 x64, op je pc of een mini-pc met 16 GB RAM of meer: uitvoeringen, bewijsmateriaal, apparaten en geschiedenis in één venster.
Probeer elk scherm uit met je eigen app.
30 dagen gratis, met alle functies, op je eigen computers. Geen betaalkaart nodig.