Testleriniz Playwright, Selenium ve pytest olarak kalır. Bunların yerini almayız. Onları kurumsal kullanıma hazırlarız ve her şey size ait olur: kod, kanıtlar ve geçmiş.
Başarısız bir test. Diskinizde bıraktığı her şey.
Bir maket değil, gerçek bir çalıştırma: 2026-09-30 tarihinde Chromium, Firefox ve WebKit üzerinde, arayüzsüz modda TC92. example.com'u açar, Learn more bağlantısını izleyerek IANA'ya gider ve başlığın Example Domain olmasını bekler. Sayfada Example Domains yazmaktadır. Bunlar Chromium çalıştırmasının dosyaları, gerçek boyutları ve her birinin içeriğidir.
Bir test başarısız olduğunda Evidence Locker neleri saklar?
Başarısız bir test; adli inceleme raporunu, üst verilerini, ham günlüğünü ve başarısız olduğu anın ekran görüntüsünü içeren bir klasör oluşturur; gerçek bir hata söz konusuysa video da eklenir. TC92_Iana_heading.js dosyasının 23. satırı, başlığın Example Domain olmasını bekler. IANA'nın sayfasında ise Example Domains yazar: 10000 ms içinde öğe bulucu 23 kez eşleşme buldu ve her seferinde çoğul biçimi okudu. Üç motorun tamamında BREACHED. İşte başarısız olduğu anın görüntüsü ve yazdığı tüm dosyalar.
https://www.iana.org/help/example-domains
screenshot.png · 89.8 kB · son karenin tek bir görünüm alanı ekran görüntüsü, 1280×720: denetim çalıştığında kullanıcının göreceği görüntü
Markdown biçimindeki ayrıntılı inceleme raporu: Studio olmadan da okunabilir.
Incident summary
Root cause analysis
Network telemetry
Failure timeline
Historical stability
Self-healing log
Evidence artifacts
Performance budget
Lazy-loading audit
Şunun için kullanın: hata kaydı açmak: Olay özeti testi, tarayıcıyı, sayfayı ve iş üzerindeki etkisini; Kök neden analizi ise başarısız denetimi, seçiciyi, beklenen ve alınan değerleri ve kaynak satırını belirtir.
metadata.json2.2 kB
Makine tarafından okunabilen 32 alan. Yazıldığı şekliyle birkaçı:
Şunun için kullanın: başarısızlıkları bir Markdown ayrıştırıcısı yerine betikle filtrelemek. Bu aynı zamanda kanıt muhafaza zincirinin mühürlediği dosyadır: metadata.json içeren bir klasör, bir kayıttır.
raw-data.json5.1 kB
Ham günlük: çalıştırmanın tüm konsol satırları, ağ hataları, güvenlik sorunları ve sayfa hataları ile performans örnekleri.
Şunun için kullanın: başarısızlığın hemen öncesinde ve sonrasında sayfanın ne yaptığını görmek. FLAKY veya AUTO_RECOVER ile geçen bir test, başarısız denemenin raw-data.json dosyasını saklar; böylece başarısızlığı gizleyen bir yeniden denemenin ardından bile günlük kaydı korunur.
Telemetryölçüldü
Testin sonunda, belirlediğiniz sınırlar esas alınarak ölçülür. Çubuk, ölçümün sınırına oranını gösterir.
LCP992 / 2500 ms
FCP992 / 1800 ms
CLS0.0295 / 0.1
TTFB727 / 800 ms
TBT0 / 200 ms
DOM114 / 1500 nodes
Heap5 / 50 MB
INPnot measured
Hepsi belirlenen sınırlar içinde ve rapor, TTFB'nin sınıra yakın olduğunu belirtiyor. INP için ölçülmedi yazıyor, asla başarılı sayılmıyor: ölçülen sayfada hiçbir yere tıklanmadı veya hiçbir şey yazılmadı. Geç yükleme denetiminde sayfa 100 üzerinden 85 puan, B notu aldı: bir görselin genişlik ve yüksekliği belirtilmemiş.
Şunun için kullanın: yavaş bir sayfayı hatalı bir doğrulama koşulundan ayırt etmek.
video.webm428.8 kB
0:08 / 0:16
Oturumun tamamı, 16.6 saniye: example.com, Daha fazla bilgi bağlantısına tıklama, ardından kontrol yeniden denenirken IANA sayfası. Çalıştırma BREACHED olduğu için saklandı ve Kanıt Kasası'nda oynatılabiliyor. Gerçek bir başarısızlıkta video saklanır: varsayılan olarak BREACHED, BREACHED_FLAKY ve CHAOS_BREACHED, Ayarlar'da etkinleştirdiğinizde ise TIMEOUT ve BLOCKED. CRASHED ve UNREACHABLE hiçbir zaman sunulmaz, çünkü bu kayıtlar bozuk veya boş çıkar. Yalnızca Playwright web ve benzetimli mobil çalıştırmaları kaydedilir: gerçek bir Android telefon, Selenium çalıştırması ve API testi kaydedilmez.
Şunun için kullanın: sayfanın başarısız denetime nasıl ulaştığını adım adım görmek; yukarıdaki ekran görüntüsü son karedir.
Yapay zekâ analiziyapay zekânız
Yapay zekânız bağlıyken varsayılan olarak açıktır. Motor, varsayılan seçenek olan yerel bir Ollama modeliyle veya seçtiğiniz başka bir sağlayıcıyla rapora dört başlık ekler: Teşhis, Olası neden, Etki ve Önerilen işlem. Yapay zekâ yazıcısında kendi yapay zekâ komut satırı aracınız etkinse bunun yerine çalıştırma sonrasında report.md dosyasını okur, çalıştırma başına en fazla beş başarısızlığı ele alır ve beşinci bir başlık ekler:
Diagnosis
Sınıflandırma (yalnızca komut satırı aracı)
Probable cause
Impact
Recommended action
Sınıflandırma yalnızca APP_BUG, APP_CHANGE, TEST_AUTHORSHIP, TEST_SETUP veya INFRA_FLAKY değerlerinden biri olur. Bağlı yapay zekâ yoksa analiz yapılmaz ve beş dosya aynı kalır.
trace.zip altıncı dosyadır. Varsayılan olarak açık olan Başarısızlıkta adli inceleme izi kaydet seçeneği açıkken, BREACHED klasörüne npx playwright show-trace trace.zip ile açılan bir Playwright izi de (DOM anlık görüntüleri, ekran görüntüleri ve kaynaklar) kaydedilir. Gerçek bir Android telefonda kaydedilmez. TC92, iz kaydı varsayılan hâle gelmeden önce çalıştırıldığı için klasöründe yukarıdaki beş dosya bulunur.
Tek bir başarısızlıkta neler dosyalanır
chromium üzerinde TC91, 2026-09-30 13:26 TIMEOUT
Ana sayfanın üst kısmındaki demoda yeniden oynatılan, example.com'un eski bağlantı metnine karşı kasıtlı olarak kurgulanmış test çalıştırmasının gerçek klasörü, Evidence Locker içinde açıldığı hâliyle: bug-reports/chromium/TC91 - Example more info/2026-09-30_13-26 [TIMEOUT].
https://example.com/
screenshot.png · 12.6 kB · başarısızlık anındaki tam görüntü
report.md4.9 kBOlay özeti, kök neden, ağ telemetrisi, başarısızlık zaman çizelgesi, geçmiş kararlılık, kendi kendini onarma günlüğü, kanıt dosyaları, performans bütçesi ve geç yükleme denetimi.
metadata.json2.3 kBSeçici, 30000ms zaman aşımı, CRITICAL kararlılık düzeyi, art arda başarısızlıklar, 2 denemenin 2. denemesi, gizlilik ve geç yükleme puanı (100, A) dahil 32 alan.
raw-data.json4.2 kBHam günlük: konsol satırları, ağ hataları, güvenlik sorunları (burada 2: eksik CSP), JS hataları ve performans ölçümleri.
TelemetryrapordaLCP 156 ms · FCP 156 ms · CLS 0.0018 · TTFB 122 ms · TBT 0 ms · 808 DOM düğümü · 2 MB öbek belleği. INP ölçülmedi: süresi ölçülecek bir işlem yok.
video.webmgerçek hatalarGerçek bir hata için kaydedilir. TIMEOUT varsayılan olarak kapalı olduğundan, bunun gibi bir TIMEOUT durumunda hiçbiri saklanmaz ve bu durum raporda belirtilir.
Yapay zekâ analiziyapay zekânızYapay zekânız bağlandığında rapora bir teşhis, olası neden, etki ve önerilen eylem ekler; kendi yapay zekâ komut satırı aracınız üzerinden hatayı da sınıflandırır.
Sonuçlar
14 sonuç kategorisi nelerdir ve sonrasında ne yapmalısınız?
14 kararın her biri sıranın kimde olduğunu belirtir: hiç kimse, test, uygulama, ortam veya test düzeneği. Karar, klasörün adında yer alır: TC92'nin klasör adı [BREACHED] ile biter. Sınıflandırıcı, bir başarısızlığı sabit bir sırayla inceler: önce test düzeneği, ardından çökme, engellenme, erişilemeyen sunucu ve zaman aşımı, ancak bunlardan sonra BREACHED_FLAKY veya BREACHED. Dolayısıyla BREACHED, hiçbir ortam örüntüsünün açıklayamadığı bir başarısızlıktır. Her kart, sıranın kimde olduğunu ve o kararın neleri kayda geçirdiğini belirtir.
SECUREHiç kimse
Kendi başına geçti: yeniden deneme yok, onarılan seçici yok. Yapılacak bir şey yok. evidence-passed-test altında, her test ve tarayıcı için en yeni 5 kayıt saklanır.
screenshot.pngmetadata.json
CHAOS_RESILIENTHiç kimse
Hata enjekte edilirken geçti; yani uygulama dayandı. Hata raporlarından ayrı olarak chaos-runs altında saklanır; böylece kaos, kararlılık sayılarını asla çarpıtmaz.
Yeşil, ama yardımsız değil: kendini onarma mekanizması bozuk bir seçiciyi değiştirdi. Testteki öğe bulucu artık çalışmıyor ve sonraki DOM değişikliği test paketini gerçekten bozacak. Öğe bulucuyu düzeltin. Yeniden deneme gerektiğinde raw-data.json oluşur ve başarısız denemeye aittir.
screenshot.pngmetadata.jsonraw-data.json
FLAKYTest veya uygulama
Başarısız oldu, ardından yeniden denemede geçti ve hiçbir şey onarılmadı. Bu bir düzeltme değil, uygulama veya testteki açıklanamayan bir kararsızlıktır. Başarısız denemenin raw-data.json dosyasını, ardından Geçmiş eğilimini inceleyin.
screenshot.pngmetadata.jsonraw-data.json
PERFORMANCE_DEGRADEDApp
Doğrulamalar geçti ancak sayfa çok yavaştı: Web Vitals veya gecikmeli yükleme sınırı aşıldı. Denetimi katı hâle getirene kadar yalnızca uyarı niteliğindedir.
screenshot.pngmetadata.json
A11Y_VIOLATIONApp
Doğrulamalar geçti, erişilebilirlik geçmedi. metadata.json, tetiklenen her axe-core kuralını etkisi ve düğüm sayısıyla birlikte listeler. Denetimi katı hâle getirene kadar yalnızca uyarı niteliğindedir.
screenshot.pngmetadata.json
SECURITY_VIOLATIONApp
Doğrulamalar geçti, güvenlik başlıkları geçmedi (örneğin eksik bir CSP). Yanıt başlıklarını düzeltin. Denetimi katı hâle getirene kadar yalnızca uyarı niteliğindedir.
screenshot.pngmetadata.json
BREACHEDApp
Bir doğrulama başarısız oldu ve hatayı açıklayan herhangi bir ortam veya test altyapısı örüntüsü yok. report.md içindeki Beklenen ve Alınan değerlerini okuyun, videoyu izleyin, ardından gerekçesiyle birlikte Gerçek hata veya Yanlış alarm olarak işaretleyin.
Önceki bir yeniden denemenin ardından son denemede başarısız oldu: başarısızlığın kendisi tutarsız. Hata bildirmeden önce denemeleri karşılaştırın. Videosu varsayılan olarak saklanır.
Enjekte edilen bir hata altında bozuldu. İşlevsel hata raporlarından ayrı tutulan bir dayanıklılık bulgusudur; rapor, uygulanan hatayı ve kullanıcı üzerindeki etkisini kaydeder. Saklama politikası, bozulan bir çalıştırmayı asla silmez. Videosu varsayılan olarak saklanır.
Zamanında hiç yanıt vermedi; bu, uygulamanın bozuk olduğunun kanıtı değildir. Herhangi bir ayarı değiştirmeden önce Telemetri bölümünde sayfanın ne kadar hızlı olduğunu kontrol edin: süre sınırını uzatmak bozuk bir öğeyi gizlemez, yalnızca daha geç başarısız olmasına yol açar. Videosu varsayılan olarak kapalıdır; Ayarlar bölümünde, Başarısızlık videosunu saklama kapsamı altında açabilirsiniz.
Sunucuya hiç ulaşılamadı: herhangi bir sayfa gözlemlenemeden DNS veya bağlantı başarısız oldu. URL'yi, ağı ve hedefin erişilebilirliğini kontrol edin. Uygulamayla ilgili bir bulgu değildir. Hiçbir sayfa yüklenmediğinden video boş olacağı için sunulmaz.
Site kendini savundu: 403, 429, engelleme sayfası veya bot doğrulaması. Ekranda bir savunma mekanizması göründüyse metadata.json bunun adını belirtir. Uygulamayla ilgili bir bulgu değildir ve Jira engelleme durumları için asla kayıt açmaz. Videosu varsayılan olarak kapalıdır; Ayarlar bölümünde, Başarısızlık videosunu saklama kapsamı altında açabilirsiniz.
Tarayıcı veya süreç sonlandı: kapanmış bir sayfa, DevTools protokol hatası, sonlanmış bir WebDriver oturumu. Sorun uygulamada değil, altyapıda. Makineyi ve sürücüyü inceleyin. Sonlanan bir tarayıcının kaydı bozuk çıktığından sunulmaz.
14 sonuç arasında yer almayanlar: CONFIG_ERROR (test altyapısı testi başlatamadı: bozuk bir içe aktarma, eksik bir .env değeri), SKIPPED ve INTERRUPTED. Hiçbiri uygulamanızla ilgili bir sonuç değildir; dolayısıyla hiçbiri kanıt klasörü veya Geçmiş satırı oluşturmaz. Yine de CONFIG_ERROR, bozuk testin düzeltilebilmesi için bir ipucuyla birlikte .run-cache/config-errors/ altındaki bir günlüğe eksiksiz yazılır. API testlerinin kendine özgü yedi sonucu vardır: API testleri.
History
Geçmiş, her çalıştırmada neleri kaydeder?
Klasöre ek olarak her çalıştırma, history/<browser>/<test>/runs.json dosyasına bir satır ekler: varsayılan olarak her tarayıcıda her testin son 50 çalıştırması tutulur. Bunlar, TC92'nin her tarayıcı için birer tane olmak üzere, yazıldığı hâliyle üç satırıdır. Üçünde de aynı error_signature değerinin bulunması, üç değil tek bir hata olduğunu gösterir.
Tarayıcının ölçemediği bir değer null olarak yazılır, asla sıfır olarak yazılmaz: WebKit burada TTFB bildirmez. Satırlardaki saatler, yazıldıkları gibi UTC'dir; klasör adları makinenin yerel saatini kullanır, bu makinede UTC−5.
perf; LCP, FCP, CLS, TTFB, TBT, INP, uzun görevler, DOM boyutu, yığın belleği, ziyaret edilen her sayfa ve geç yükleme puanını içerir. raw_log_ref ve evidence_ref yukarıdaki klasöre işaret eder.
Motorun bu verilerden ürettiği çıktı
TC92 chromium BREACHED 13.7s
expect(locator).toHaveText(expected) failed
at TC92_Iana_heading.js:23 waiting for getByRole('heading', { level: 1 })
stability CRITICAL 0% · 0/1 runs · 1 failed in a row
# TC91, ana sayfadaki kurgulanmış gösterim: önce BREACHED, ardından TIMEOUT
stability CRITICAL 0% · 0/2 runs · 2 failed in a row
Satırdaki duration_ms değeri olan 12291, iki denemenin ikincisinde Playwright'ın ölçtüğü test süresidir.
Aynı satırlar raporun Geçmiş kararlılık bölümünü, Geçmiş ekranındaki eğilimleri (Geriledi, Düzeldi, Hâlâ bozuk, Yavaşladı) ve beş çalıştırmadan önce hiçbir testin kararsız olarak nitelendirilmediği risk sıralamasını besler.
Başarılı bir testte ekran görüntüsü ve üst verileri, başarısız bir testte ise hatayı yeniden üretmek için gereken her şey saklanır; en eski dosyalar önce silinir. Her gece çalıştırılan bir test paketi diski doldurur. Motor, her test ve tarayıcı için yazdığı her klasörün boyutunu sınırlar ve tüm kanıtları varsayılan olarak 20 GB olan tek bir kota altında tutar; diskte ise 10 GB boş alan bırakılır. Böylece disk kullanımı, seçtiğiniz boyutta durur. Başarısız bir testte, hatayı yeniden üretmek için gerekenler yine saklanır: seçicisi ve değerleriyle birlikte hata, sayfa URL'si, çerçeve, konsol, ağ ve sayfa hatası satırları, çalışma zamanı ve platform ile çalıştırmanın bağlamı ve neye göre ölçüldüğü. Sınırlar ve kota, Ayarlar'da Kanıtlar & Saklama bölümünden belirlenir.
Video için TIMEOUT varsayılan olarak kapalı olduğundan, kayıt dışındaki dosyalar aynıdır: ana sayfadaki kurgulanmış gösterim olan TC91'in TIMEOUT sonucu için 23.9 kB.
Başarılı bir sonuç
screenshot.pngmetadata.json
Hata raporlarından ayrı olarak, her test ve tarayıcı için en yeni 5 kayıt saklanır. Görsel regresyonun karşılaştırdığı şey ekran görüntüsüdür. FLAKY / AUTO_RECOVER ile geçen testin kanıtlarını sakla seçeneği açıkken, FLAKY veya AUTO_RECOVER ile geçen bir testin klasörü de başarısız denemenin raw-data.json dosyasıyla birlikte saklanır.
Ayarlar · Kanıt & Saklama · varsayılanlar
Bug reports kept per test20NEXUS_BUGREPORT_RETAIN
Passing screenshots kept5NEXUS_PASSED_RETAIN
Keep evidence of a FLAKY / AUTO_RECOVER passonNEXUS_RECOVERED_RETAIN
Raw run history window50 runsNEXUS_HISTORY_RETAIN
Smart Monkey sessions kept10NEXUS_MONKEY_RETAIN
Run contexts kept (what each run tested against)100NEXUS_RUN_CONTEXT_RETAIN
Record failure videoonNEXUS_VIDEO_ENABLED
Keep failure video for3 verdictsNEXUS_VIDEO_VERDICTS=BREACHED,BREACHED_FLAKY,CHAOS_BREACHED
Record a forensic trace on failureonNEXUS_TRACE_ENABLED
Total evidence budget20 GBNEXUS_EVIDENCE_MAX_GB
Free disk to keep10 GBNEXUS_MIN_FREE_GB
Her çalıştırmadan sonra motor tarafından yazdırılır
Bu üç satır, TC92'nin çalıştırılmasının ardından geldi. Çalıştırmanın geçici telemetri dosyaları hiçbir zaman kanıt sayılmaz: bir zip dosyasına alınır, ayrı kopyalar silinir ve 500 MB sınırı içinde, en fazla 7 günlük en çok 2 zip dosyası tutulur. Bu üç sınır, Ayarlar'daki alanlar değil, .env içindeki NEXUS_CACHE_ZIPS, NEXUS_CACHE_RETENTION_DAYS ve NEXUS_CACHE_MAX_MB değerleridir.
Ayarlar'daki Önbelleği temizle, çalışma alanının test-results ve playwright-report klasörlerini siler ve çöken veya sonlandırılan bir çalıştırmanın açık bıraktığı tarayıcıları kapatır. Devriye çalışırken bu işleme izin verilmez.
Çalışma alanı · Disk · her klasörün bugünkü sınırı
area limit today
Bug reports newest 20 runs per test and browser
Passed tests newest 5 runs per test and browser
API evidence newest 20 passing runs per test; failures kept
Chaos runs newest 20 held runs; runs that broke kept
Smart Monkey newest 10 sessions
Visual regressions newest 10 per test and checkpoint
Run context newest 100 runs
Run history newest 50 runs per test and browser
Chain of custody append-only, never trimmed
Archive no automatic limit
Disk paneli, bir çalıştırmanın dosya yazdığı tüm klasörleri en büyükten başlayarak boyutları, dosya sayıları ve en eski tarihleriyle birlikte listeler; toplam boyutu ve sürücüdeki boş alanı da gösterir. Otomatik sınırı olmayan klasörler işaretlenir. Temizle seçeneği yalnızca güvenli yerlerde sunulur: çalıştırma önbelleği, 14 günden eski test dosyası sürümleri ve 30 günden eski yönetici raporları. Kanıtlara veya arşive asla dokunmaz.
Kayıt sınırlarına ek olarak tüm kanıtlar, varsayılan olarak 20 GB olan ortak bir depolama sınırına tabidir ve diskte 10 GB boş alan tutulur. Motor her çalıştırmadan sonra ikisini de kontrol eder ve sınırlardan biri aşıldığında, her iki koşul da sağlanana kadar en eski çalıştırmaları kaldırır; başarılı olanlar başarısız olanlardan önce silinir. Her test ile tarayıcının en son çalıştırması her zaman korunur. Panelde kanıtların depolama sınırına, boş alanın alt sınıra göre durumu ve son kontrolde ne kadar alan boşaltıldığı ile birlikte Bakımı şimdi çalıştır seçeneği gösterilir.
Kanıt Kasası · önemli olanı saklayın, geri kalanını boşaltın
Arşivle…, yalnızca işaretlediğiniz bölümleri Görünüm → Arşiv'e kopyalar; Ekran Görüntüsü ve Rapor başlangıçta işaretlidir. Kopya, kanıt klasörünün içinde değil yanında tutulur; böylece hiçbir saklama süresi temizliğinden etkilenmez ve Kasa'daki çalıştırmaya dokunulmaz.
Arşiv ekranındaki Geri yükle, kaydı eski yerine döndürür ve yeniden sayıma dahil eder. Klasörü boşaltılmışsa arşivlenen bölümler Kanıt Kasası'na geri yazılır. Yanlış alarm kararı varsa kayıt yine sayıma dahil edilmez.
Diskte yer aç, klasörü geri dönüşüm kutusuna gönderir. Kayıt mühürlüyse motor önce kaldırma işlemini kaydeder; böylece nexus verify, TAMPERED yerine PURGED bildirir. Saklama süresi temizliği de en eski klasörü kaldırırken aynısını yapar ve kayıt defteri, klasörün hangi özet değerine sahip olduğunu, kimin ne zaman kaldırdığını kanıtlamaya devam eder. Mühürleme isteğe bağlıdır: ilk Gerçek hata veya Yanlış alarm kararına ya da nexus verify --seal komutuna kadar Kasa'da UNVERIFIED yazar.
Kendi başarısız testlerinizin geride ne bıraktığını görün.
Kendi makinelerinizde, tüm özellikleriyle 30 gün ücretsiz. Kart gerekmez.