chore: auto-commit (3 archivos)

- .mcp.json
- CAPABILITIES_TODO.md
- demo_e2e/

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-06 12:49:54 +02:00
parent 2527fd306a
commit 23f9aa90e8
14 changed files with 1858 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
{
"name": "1 - Extraer citas estructuradas (quotes.toscrape.com)",
"verdict": "PASS",
"extracted_count": 10,
"sample": [
{
"author": "Albert Einstein",
"tags": [
"change",
"deep-thoughts",
"thinking",
"world"
],
"text": "“The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.”"
},
{
"author": "J.K. Rowling",
"tags": [
"abilities",
"choices"
],
"text": "“It is our choices, Harry, that show what we truly are, far more than our abilities.”"
},
{
"author": "Albert Einstein",
"tags": [
"inspirational",
"life",
"live",
"miracle",
"miracles"
],
"text": "“There are only two ways to live your life. One is as though nothing is a miracle. The other is as though everything is a miracle.”"
}
],
"steps": [
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://quotes.toscrape.com"
},
"ms": 735,
"is_error": false,
"response": "navigated to https://quotes.toscrape.com"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 437,
"is_error": false,
"response": "page loaded"
},
{
"tool": "page_eval_js",
"args": {
"port": 9333,
"expression": "[...document.querySelectorAll('.quote')].map(q=>({text:q.querySelector('.text').innerText,author:q.querySelector('.author').innerText,tags:[...q.querySelectorAll('.tag')].map(t=>t.innerText)}))"
},
"ms": 2,
"is_error": false,
"response": "[{\"author\":\"Albert Einstein\",\"tags\":[\"change\",\"deep-thoughts\",\"thinking\",\"world\"],\"text\":\"“The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.”\"},{\"author\":\"J.K. Rowling\",\"tags\":[\"abilities\",\"choices\"],\"text\":\"“It is our choices, Harry, that show what we truly are, far more than our abilities.”\"},{\"author\":\"Albert Einstein\",\"tags\":[\"inspirational\",\"life\",\"live\",\"miracle\",\"miracles\"],\"text\":\"“There are only two ways to live your life. One is as though nothing is a miracle. The other is as though everything is a miracle.”\"},{\"author\":\"Jane Austen\",\"tags\":[\"aliteracy\",\"books\",\"classic\",\"humor\"],\"text\":\"“The person, be it gentleman or lady, who has not pleasure in a good novel, must be intolerably stupid.”\"},{\"author\":\"Marilyn Monroe\",\"tags\":[\"be-yourself\",\"inspirational\"],\"text\":\"“Imperfection is beauty, madness is genius and it's better to be absolutely ridiculous than absolutely boring.”\"},{\"author\":\"Albert Einstein\",\"tags\":[\"adulthood\",\"success\",\"value\"],\"text\":\"“Try not to become a man of success. Rather become a man of value.”\"},{\"author\":\"André Gide\",\"tags\":[\"life\",\"love\"],\"text\":\"“It is better to be hated for what you are than to be loved for what you are not.”\"},{\"author\":\"Thomas A. Edison\",\"tags\":[\"edison\",\"failure\",\"inspirational\",\"paraphrased\"],\"text\":\"“I have not failed. I've just found 10,000 ways that won't work.”\"},{\"author\":\"Eleanor Roosevelt\",\"tags\":[\"misattributed-eleanor-roosevelt\"],\"text\":\"“A woman is like a tea bag; you never know how strong it is until it's in hot water.”\"},{\"author\":\"Steve Martin\",\"tags\":[\"humor\",\"obvious\",\"simile\"],\"text\":\"“A day without sunshine is like, you know, night.”\"}]"
}
]
}
+40
View File
@@ -0,0 +1,40 @@
{
"name": "2 - Percibir página (page_perceive AX outline)",
"verdict": "PASS",
"has_refs": true,
"has_link": true,
"outline_len": 4021,
"outline_preview": "RootWebArea \"The Internet\"\ngeneric\n generic\n separator\n generic\n StaticText \"Powered by \"\n InlineTextBox \"Powered by \"\n link \"Elemental Selenium\" #ref=169\n StaticText \"Elemental Selenium\"\n InlineTextBox \"Elemental \"\n InlineTextBox \"Selenium\"\nlink \"Fork me on GitHub\" #ref=72\n image \"Fork me on GitHub\"\ngeneric\n heading \"Welcome to the-internet\"\n StaticText \"Welcome to the-internet\"\n InlineTextBox \"Welcome to the-internet\"\n heading \"Available Examples\"\n StaticText \"Available Examples\"\n InlineTextBox \"Available Examples\"\n list\n listitem\n link \"A/B Testing\" #ref=79\n StaticText \"A/B Testing\"\n InlineTextBox \"A/B Testing\"\n listitem\n link \"Add/Remove Elements\" #ref=81\n StaticText \"Add/Remove Elements\"\n InlineTextBox \"Add/Remove Elements\"\n listitem\n link \"Basic Auth\" #ref=83\n StaticText \"Basic Auth\"\n InlineTextBox \"Basic Auth\"\n StaticText \" (user and pass: admin)\"\n InlineTextBox \" (user and pass: admin)\"\n listitem\n link \"Broken Images\" #ref=85\n StaticText \"Broken Images\"\n InlineTextBox \"Broken Images\"\n listitem\n link \"Challenging DOM\" #ref=87\n StaticText \"Challenging DOM\"\n ",
"steps": [
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://the-internet.herokuapp.com"
},
"ms": 388,
"is_error": false,
"response": "navigated to https://the-internet.herokuapp.com"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 833,
"is_error": false,
"response": "page loaded"
},
{
"tool": "page_perceive",
"args": {
"port": 9333,
"max_chars": 4000
},
"ms": 125,
"is_error": false,
"response": "RootWebArea \"The Internet\"\ngeneric\n generic\n separator\n generic\n StaticText \"Powered by \"\n InlineTextBox \"Powered by \"\n link \"Elemental Selenium\" #ref=169\n StaticText \"Elemental Selenium\"\n InlineTextBox \"Elemental \"\n InlineTextBox \"Selenium\"\nlink \"Fork me on GitHub\" #ref=72\n image \"Fork me on GitHub\"\ngeneric\n heading \"Welcome to the-internet\"\n StaticText \"Welcome to the-internet\"\n InlineTextBox \"Welcome to the-internet\"\n heading \"Available Examples\"\n StaticText \"Available Examples\"\n InlineTextBox \"Available Examples\"\n list\n listitem\n link \"A/B Testing\" #ref=79\n StaticText \"A/B Testing\"\n InlineTextBox \"A/B Testing\"\n listitem\n link \"Add/Remove Elements\" #ref=81\n StaticText \"Add/Remove Elements\"\n InlineTextBox \"Add/Remove Elements\"\n listitem\n link \"Basic Auth\" #ref=83\n StaticText \"Basic Auth\"\n InlineTextBox \"Basic Auth\"\n StaticText \" (user and pass: admin)\"\n InlineTextBox \" (user and pass: admin)\"\n listitem\n link \"Broken Images\" #ref=85\n StaticText \"Broken Images\"\n InlineTextBox \"Broken Images\"\n listitem\n link \"Challenging DOM\" #ref=87\n StaticText \"Challenging DOM\"\n InlineTextBox \"Challenging DOM\"\n listitem\n link \"Checkboxes\" #ref=89\n StaticText \"Checkboxes\"\n InlineTextBox \"Checkboxes\"\n listitem\n link \"Context Menu\" #ref=91\n StaticText \"Context Menu\"\n InlineTextBox \"Context Menu\"\n listitem\n link \"Digest Authentication\" #ref=93\n StaticText \"Digest Authentication\"\n InlineTextBox \"Digest Au"
}
]
}
+118
View File
@@ -0,0 +1,118 @@
{
"name": "3 - Submit de formulario con teclado Enter (the-internet/login)",
"verdict": "PASS",
"flash": "You logged into a secure area!\n×",
"steps": [
{
"tool": "cookie_clear",
"args": {
"port": 9333
},
"ms": 1,
"is_error": false,
"response": "cookies cleared"
},
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://the-internet.herokuapp.com/login"
},
"ms": 91,
"is_error": false,
"response": "navigated to https://the-internet.herokuapp.com/login"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 249,
"is_error": false,
"response": "page loaded"
},
{
"tool": "dom_click",
"args": {
"port": 9333,
"selector": "#username"
},
"ms": 23,
"is_error": false,
"response": "clicked #username"
},
{
"tool": "dom_type",
"args": {
"port": 9333,
"text": "tomsmith"
},
"ms": 115,
"is_error": false,
"response": "typed text"
},
{
"tool": "dom_click",
"args": {
"port": 9333,
"selector": "#password"
},
"ms": 8,
"is_error": false,
"response": "clicked #password"
},
{
"tool": "dom_type",
"args": {
"port": 9333,
"text": "SuperSecretPassword!"
},
"ms": 279,
"is_error": false,
"response": "typed text"
},
{
"tool": "press_key",
"args": {
"port": 9333,
"key": "Enter"
},
"ms": 4,
"is_error": false,
"response": "pressed Enter"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 1,
"is_error": false,
"response": "page loaded"
},
{
"tool": "dom_wait_element",
"args": {
"port": 9333,
"selector": "#flash",
"timeout_ms": 8000
},
"ms": 435,
"is_error": false,
"response": "element appeared: #flash"
},
{
"tool": "page_get_text",
"args": {
"port": 9333,
"selector": "#flash",
"max_bytes": 200
},
"ms": 2,
"is_error": false,
"response": " You logged into a secure area!\n×"
}
]
}
@@ -0,0 +1,233 @@
{
"name": "4 - Login + sesión persistente (storage_state)",
"verdict": "PASS",
"logged_in": true,
"kicked_after_clear": true,
"restored_after_load": true,
"flash_login": " You logged into a secure area!\n×",
"flash_after_clear": " You must login to view the secure area!\n×",
"flash_restored": "{\"path\":\"/secure\",\"secure\":true}",
"steps": [
{
"tool": "cookie_clear",
"args": {
"port": 9333
},
"ms": 2,
"is_error": false,
"response": "cookies cleared"
},
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://the-internet.herokuapp.com/login"
},
"ms": 96,
"is_error": false,
"response": "navigated to https://the-internet.herokuapp.com/login"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 247,
"is_error": false,
"response": "page loaded"
},
{
"tool": "dom_click",
"args": {
"port": 9333,
"selector": "#username"
},
"ms": 4,
"is_error": false,
"response": "clicked #username"
},
{
"tool": "dom_type",
"args": {
"port": 9333,
"text": "tomsmith"
},
"ms": 93,
"is_error": false,
"response": "typed text"
},
{
"tool": "dom_click",
"args": {
"port": 9333,
"selector": "#password"
},
"ms": 9,
"is_error": false,
"response": "clicked #password"
},
{
"tool": "dom_type",
"args": {
"port": 9333,
"text": "SuperSecretPassword!"
},
"ms": 290,
"is_error": false,
"response": "typed text"
},
{
"tool": "dom_click",
"args": {
"port": 9333,
"selector": "button[type=submit]"
},
"ms": 10,
"is_error": false,
"response": "clicked button[type=submit]"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 2,
"is_error": false,
"response": "page loaded"
},
{
"tool": "dom_wait_element",
"args": {
"port": 9333,
"selector": "#flash",
"timeout_ms": 8000
},
"ms": 431,
"is_error": false,
"response": "element appeared: #flash"
},
{
"tool": "page_get_text",
"args": {
"port": 9333,
"selector": "#flash",
"max_bytes": 300
},
"ms": 3,
"is_error": false,
"response": " You logged into a secure area!\n×"
},
{
"tool": "storage_save",
"args": {
"port": 9333,
"path": "/tmp/demo_session.json"
},
"ms": 9,
"is_error": false,
"response": "storage state saved to /tmp/demo_session.json"
},
{
"tool": "cookie_clear",
"args": {
"port": 9333
},
"ms": 4,
"is_error": false,
"response": "cookies cleared"
},
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://the-internet.herokuapp.com/secure"
},
"ms": 195,
"is_error": false,
"response": "navigated to https://the-internet.herokuapp.com/secure"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 229,
"is_error": false,
"response": "page loaded"
},
{
"tool": "page_get_text",
"args": {
"port": 9333,
"selector": "#flash",
"max_bytes": 300
},
"ms": 0,
"is_error": false,
"response": " You must login to view the secure area!\n×"
},
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://the-internet.herokuapp.com"
},
"ms": 92,
"is_error": false,
"response": "navigated to https://the-internet.herokuapp.com"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 241,
"is_error": false,
"response": "page loaded"
},
{
"tool": "storage_load",
"args": {
"port": 9333,
"path": "/tmp/demo_session.json"
},
"ms": 5,
"is_error": false,
"response": "storage state loaded from /tmp/demo_session.json"
},
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://the-internet.herokuapp.com/secure"
},
"ms": 102,
"is_error": false,
"response": "navigated to https://the-internet.herokuapp.com/secure"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 220,
"is_error": false,
"response": "page loaded"
},
{
"tool": "page_eval_js",
"args": {
"port": 9333,
"expression": "JSON.stringify({path:location.pathname,secure:document.body.innerText.includes('Secure Area')})"
},
"ms": 2,
"is_error": false,
"response": "{\"path\":\"/secure\",\"secure\":true}"
}
]
}
+115
View File
@@ -0,0 +1,115 @@
{
"name": "5 - Scraping paginado + dedup (books.toscrape.com, 3 páginas)",
"verdict": "PASS",
"total_scraped": 60,
"unique_count": 60,
"sample": [
{
"price": "£51.77",
"stock": "In stock",
"title": "A Light in the Attic"
},
{
"price": "£53.74",
"stock": "In stock",
"title": "Tipping the Velvet"
},
{
"price": "£50.10",
"stock": "In stock",
"title": "Soumission"
}
],
"steps": [
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://books.toscrape.com/catalogue/page-1.html"
},
"ms": 164,
"is_error": false,
"response": "navigated to https://books.toscrape.com/catalogue/page-1.html"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 659,
"is_error": false,
"response": "page loaded"
},
{
"tool": "page_eval_js",
"args": {
"port": 9333,
"expression": "[...document.querySelectorAll('.product_pod')].map(b=>({title:b.querySelector('h3 a').getAttribute('title'),price:b.querySelector('.price_color').innerText,stock:b.querySelector('.availability').innerText.trim()}))"
},
"ms": 3,
"is_error": false,
"response": "[{\"price\":\"£51.77\",\"stock\":\"In stock\",\"title\":\"A Light in the Attic\"},{\"price\":\"£53.74\",\"stock\":\"In stock\",\"title\":\"Tipping the Velvet\"},{\"price\":\"£50.10\",\"stock\":\"In stock\",\"title\":\"Soumission\"},{\"price\":\"£47.82\",\"stock\":\"In stock\",\"title\":\"Sharp Objects\"},{\"price\":\"£54.23\",\"stock\":\"In stock\",\"title\":\"Sapiens: A Brief History of Humankind\"},{\"price\":\"£22.65\",\"stock\":\"In stock\",\"title\":\"The Requiem Red\"},{\"price\":\"£33.34\",\"stock\":\"In stock\",\"title\":\"The Dirty Little Secrets of Getting Your Dream Job\"},{\"price\":\"£17.93\",\"stock\":\"In stock\",\"title\":\"The Coming Woman: A Novel Based on the Life of the Infamous Feminist, Victoria Woodhull\"},{\"price\":\"£22.60\",\"stock\":\"In stock\",\"title\":\"The Boys in the Boat: Nine Americans and Their Epic Quest for Gold at the 1936 Berlin Olympics\"},{\"price\":\"£52.15\",\"stock\":\"In stock\",\"title\":\"The Black Maria\"},{\"price\":\"£13.99\",\"stock\":\"In stock\",\"title\":\"Starving Hearts (Triangular Trade Trilogy, #1)\"},{\"price\":\"£20.66\",\"stock\":\"In stock\",\"title\":\"Shakespeare's Sonnets\"},{\"price\":\"£17.46\",\"stock\":\"In stock\",\"title\":\"Set Me Free\"},{\"price\":\"£52.29\",\"stock\":\"In stock\",\"title\":\"Scott Pilgrim's Precious Little Life (Scott Pilgrim #1)\"},{\"price\":\"£35.02\",\"stock\":\"In stock\",\"title\":\"Rip it Up and Start Again\"},{\"price\":\"£57.25\",\"stock\":\"In stock\",\"title\":\"Our Band Could Be Your Life: Scenes from the American Indie Underground, 1981-1991\"},{\"price\":\"£23.88\",\"stock\":\"In stock\",\"title\":\"Olio\"},{\"price\":\"£37.59\",\"stock\":\"In stock\",\"title\":\"Mesaerion: The Best Science Fiction Stories 1800-1849\"},{\"price\":\"£51.33\",\"stock\":\"In stock\",\"title\":\"Libertarianism for Beginners\"},{\"price\":\"£45.17\",\"stock\":\"In stock\",\"title\":\"It's Only the Himalayas\"}]"
},
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://books.toscrape.com/catalogue/page-2.html"
},
"ms": 107,
"is_error": false,
"response": "navigated to https://books.toscrape.com/catalogue/page-2.html"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 632,
"is_error": false,
"response": "page loaded"
},
{
"tool": "page_eval_js",
"args": {
"port": 9333,
"expression": "[...document.querySelectorAll('.product_pod')].map(b=>({title:b.querySelector('h3 a').getAttribute('title'),price:b.querySelector('.price_color').innerText,stock:b.querySelector('.availability').innerText.trim()}))"
},
"ms": 4,
"is_error": false,
"response": "[{\"price\":\"£12.84\",\"stock\":\"In stock\",\"title\":\"In Her Wake\"},{\"price\":\"£37.32\",\"stock\":\"In stock\",\"title\":\"How Music Works\"},{\"price\":\"£30.52\",\"stock\":\"In stock\",\"title\":\"Foolproof Preserving: A Guide to Small Batch Jams, Jellies, Pickles, Condiments, and More: A Foolproof Guide to Making Small Batch Jams, Jellies, Pickles, Condiments, and More\"},{\"price\":\"£25.27\",\"stock\":\"In stock\",\"title\":\"Chase Me (Paris Nights #2)\"},{\"price\":\"£34.53\",\"stock\":\"In stock\",\"title\":\"Black Dust\"},{\"price\":\"£54.64\",\"stock\":\"In stock\",\"title\":\"Birdsong: A Story in Pictures\"},{\"price\":\"£22.50\",\"stock\":\"In stock\",\"title\":\"America's Cradle of Quarterbacks: Western Pennsylvania's Football Factory from Johnny Unitas to Joe Montana\"},{\"price\":\"£53.13\",\"stock\":\"In stock\",\"title\":\"Aladdin and His Wonderful Lamp\"},{\"price\":\"£40.30\",\"stock\":\"In stock\",\"title\":\"Worlds Elsewhere: Journeys Around Shakespeares Globe\"},{\"price\":\"£44.18\",\"stock\":\"In stock\",\"title\":\"Wall and Piece\"},{\"price\":\"£17.66\",\"stock\":\"In stock\",\"title\":\"The Four Agreements: A Practical Guide to Personal Freedom\"},{\"price\":\"£31.05\",\"stock\":\"In stock\",\"title\":\"The Five Love Languages: How to Express Heartfelt Commitment to Your Mate\"},{\"price\":\"£23.82\",\"stock\":\"In stock\",\"title\":\"The Elephant Tree\"},{\"price\":\"£36.89\",\"stock\":\"In stock\",\"title\":\"The Bear and the Piano\"},{\"price\":\"£15.94\",\"stock\":\"In stock\",\"title\":\"Sophie's World\"},{\"price\":\"£33.29\",\"stock\":\"In stock\",\"title\":\"Penny Maybe\"},{\"price\":\"£18.02\",\"stock\":\"In stock\",\"title\":\"Maude (1883-1993):She Grew Up with the country\"},{\"price\":\"£19.63\",\"stock\":\"In stock\",\"title\":\"In a Dark, Dark Wood\"},{\"price\":\"£52.22\",\"stock\":\"In stock\",\"title\":\"Behind Closed Doors\"},{\"price\":\"£33.63\",\"stock\":\"In stock\",\"title\":\"You can't bury them all: Poems\"}]"
},
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://books.toscrape.com/catalogue/page-3.html"
},
"ms": 110,
"is_error": false,
"response": "navigated to https://books.toscrape.com/catalogue/page-3.html"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 429,
"is_error": false,
"response": "page loaded"
},
{
"tool": "page_eval_js",
"args": {
"port": 9333,
"expression": "[...document.querySelectorAll('.product_pod')].map(b=>({title:b.querySelector('h3 a').getAttribute('title'),price:b.querySelector('.price_color').innerText,stock:b.querySelector('.availability').innerText.trim()}))"
},
"ms": 4,
"is_error": false,
"response": "[{\"price\":\"£57.31\",\"stock\":\"In stock\",\"title\":\"Slow States of Collapse: Poems\"},{\"price\":\"£26.41\",\"stock\":\"In stock\",\"title\":\"Reasons to Stay Alive\"},{\"price\":\"£47.61\",\"stock\":\"In stock\",\"title\":\"Private Paris (Private #10)\"},{\"price\":\"£23.11\",\"stock\":\"In stock\",\"title\":\"#HigherSelfie: Wake Up Your Life. Free Your Soul. Find Your Tribe.\"},{\"price\":\"£45.07\",\"stock\":\"In stock\",\"title\":\"Without Borders (Wanderlove #1)\"},{\"price\":\"£31.77\",\"stock\":\"In stock\",\"title\":\"When We Collided\"},{\"price\":\"£50.27\",\"stock\":\"In stock\",\"title\":\"We Love You, Charlie Freeman\"},{\"price\":\"£14.27\",\"stock\":\"In stock\",\"title\":\"Untitled Collection: Sabbath Poems 2014\"},{\"price\":\"£44.18\",\"stock\":\"In stock\",\"title\":\"Unseen City: The Majesty of Pigeons, the Discreet Charm of Snails \\u0026 Other Wonders of the Urban Wilderness\"},{\"price\":\"£18.78\",\"stock\":\"In stock\",\"title\":\"Unicorn Tracks\"},{\"price\":\"£25.52\",\"stock\":\"In stock\",\"title\":\"Unbound: How Eight Technologies Made Us Human, Transformed Society, and Brought Our World to the Brink\"},{\"price\":\"£16.28\",\"stock\":\"In stock\",\"title\":\"Tsubasa: WoRLD CHRoNiCLE 2 (Tsubasa WoRLD CHRoNiCLE #2)\"},{\"price\":\"£31.12\",\"stock\":\"In stock\",\"title\":\"Throwing Rocks at the Google Bus: How Growth Became the Enemy of Prosperity\"},{\"price\":\"£19.49\",\"stock\":\"In stock\",\"title\":\"This One Summer\"},{\"price\":\"£17.27\",\"stock\":\"In stock\",\"title\":\"Thirst\"},{\"price\":\"£19.09\",\"stock\":\"In stock\",\"title\":\"The Torch Is Passed: A Harding Family Story\"},{\"price\":\"£56.13\",\"stock\":\"In stock\",\"title\":\"The Secret of Dreadwillow Carse\"},{\"price\":\"£56.41\",\"stock\":\"In stock\",\"title\":\"The Pioneer Woman Cooks: Dinnertime: Comfort Classics, Freezer Food, 16-Minute Meals, and Other Delicious Ways to Solve Supper!\"},{\"price\":\"£56.50\",\"stock\":\"In stock\",\"title\":\"The Past Never Ends\"},{\"price\":\"£45.22\",\"stock\":\"In stock\",\"title\":\"The Natural History of Us (The Fine Art of Pretending #2)\"}]"
}
]
}
@@ -0,0 +1,89 @@
{
"name": "6 - sessionStorage en storage_state (fix D)",
"verdict": "PASS",
"cleared_value": "null",
"restored_value": "demo_v",
"json_has_sessionstorage": true,
"steps": [
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://the-internet.herokuapp.com"
},
"ms": 112,
"is_error": false,
"response": "navigated to https://the-internet.herokuapp.com"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 224,
"is_error": false,
"response": "page loaded"
},
{
"tool": "page_eval_js",
"args": {
"port": 9333,
"expression": "window.sessionStorage.setItem('demo_k','demo_v'); 'set'"
},
"ms": 4,
"is_error": false,
"response": "set"
},
{
"tool": "storage_save",
"args": {
"port": 9333,
"path": "/tmp/demo_ss.json"
},
"ms": 10,
"is_error": false,
"response": "storage state saved to /tmp/demo_ss.json"
},
{
"tool": "page_eval_js",
"args": {
"port": 9333,
"expression": "window.sessionStorage.clear(); 'cleared'"
},
"ms": 2,
"is_error": false,
"response": "cleared"
},
{
"tool": "page_eval_js",
"args": {
"port": 9333,
"expression": "String(window.sessionStorage.getItem('demo_k'))"
},
"ms": 1,
"is_error": false,
"response": "null"
},
{
"tool": "storage_load",
"args": {
"port": 9333,
"path": "/tmp/demo_ss.json"
},
"ms": 6,
"is_error": false,
"response": "storage state loaded from /tmp/demo_ss.json"
},
{
"tool": "page_eval_js",
"args": {
"port": 9333,
"expression": "String(window.sessionStorage.getItem('demo_k'))"
},
"ms": 1,
"is_error": false,
"response": "demo_v"
}
]
}
@@ -0,0 +1,49 @@
{
"name": "7 - find_by_text honesto: error en no-encontrado (fix E)",
"verdict": "PASS",
"found_present": "body > div > div:nth-of-type(1) > div:nth-of-type(2) > p > a",
"missing_is_error": true,
"missing_response": "cdp find by text: no se encontro elemento con texto \"ZZZ_texto_inexistente_42\"",
"steps": [
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://quotes.toscrape.com"
},
"ms": 122,
"is_error": false,
"response": "navigated to https://quotes.toscrape.com"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 232,
"is_error": false,
"response": "page loaded"
},
{
"tool": "dom_find_by_text",
"args": {
"port": 9333,
"text": "Login"
},
"ms": 7,
"is_error": false,
"response": "body > div > div:nth-of-type(1) > div:nth-of-type(2) > p > a"
},
{
"tool": "dom_find_by_text",
"args": {
"port": 9333,
"text": "ZZZ_texto_inexistente_42"
},
"ms": 5,
"is_error": true,
"response": "cdp find by text: no se encontro elemento con texto \"ZZZ_texto_inexistente_42\""
}
]
}
@@ -0,0 +1,68 @@
{
"name": "8 - Verificación post-acción: click oculto / type sin foco dan error (fix B)",
"verdict": "PASS",
"click_hidden_error": true,
"type_nofocus_error": true,
"steps": [
{
"tool": "tab_navigate",
"args": {
"port": 9333,
"url": "https://quotes.toscrape.com"
},
"ms": 112,
"is_error": false,
"response": "navigated to https://quotes.toscrape.com"
},
{
"tool": "page_wait_load",
"args": {
"port": 9333,
"timeout_ms": 12000
},
"ms": 212,
"is_error": false,
"response": "page loaded"
},
{
"tool": "page_eval_js",
"args": {
"port": 9333,
"expression": "var b=document.createElement('button');b.id='hidden_btn';b.textContent='x';b.style.display='none';document.body.appendChild(b);'injected'"
},
"ms": 2,
"is_error": false,
"response": "injected"
},
{
"tool": "dom_click",
"args": {
"port": 9333,
"selector": "#hidden_btn"
},
"ms": 2,
"is_error": true,
"response": "cdp click: elemento \"#hidden_btn\" existe pero no es visible/clickable (display:none, oculto, opacity 0 o tamaño 0)"
},
{
"tool": "page_eval_js",
"args": {
"port": 9333,
"expression": "if(document.activeElement){document.activeElement.blur();} document.body.focus(); 'blurred'"
},
"ms": 1,
"is_error": false,
"response": "blurred"
},
{
"tool": "dom_type",
"args": {
"port": 9333,
"text": "fantasma"
},
"ms": 1,
"is_error": true,
"response": "cdp type text: no hay campo de texto enfocado (activeElement: body); usa CdpClick sobre el input primero"
}
]
}
+42
View File
@@ -0,0 +1,42 @@
[
{
"prueba": "prueba_1_quotes",
"verdict": "PASS",
"detail": "10 citas"
},
{
"prueba": "prueba_2_perceive",
"verdict": "PASS",
"detail": "outline 4021 chars, refs=True"
},
{
"prueba": "prueba_3_search",
"verdict": "PASS",
"detail": "flash='You logged into a secure area!\n×'"
},
{
"prueba": "prueba_4_login_session",
"verdict": "PASS",
"detail": "login=True restore=True"
},
{
"prueba": "prueba_5_books",
"verdict": "PASS",
"detail": "60 libros únicos"
},
{
"prueba": "prueba_6_session_storage",
"verdict": "PASS",
"detail": "clear='null' restore='demo_v'"
},
{
"prueba": "prueba_7_find_honesto",
"verdict": "PASS",
"detail": "present_ok=True miss_error=True"
},
{
"prueba": "prueba_8_verificacion",
"verdict": "PASS",
"detail": "click_hidden_err=True type_nofocus_err=True"
}
]