or run

npx @tessl/cli init
Log in

Version

Files

docs

browser-contexts.mdbrowser-management.mdelement-handling.mdindex.mdinput-simulation.mdlocators-selectors.mdnetwork-management.mdpage-interaction.md
tile.json

rubric.jsonevals/scenario-4/

{
  "context": "This criteria evaluates how well the engineer uses Puppeteer's window bounds management API to control browser window positioning and sizing. The focus is on correct usage of puppeteer.launch(), browser.newPage(), CDP's Browser.setWindowBounds command, and Browser.getWindowBounds command.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Browser launch",
      "description": "Uses puppeteer.launch() to create a browser instance with appropriate configuration",
      "max_score": 15
    },
    {
      "name": "Page creation",
      "description": "Uses browser.newPage() or browser.pages() to get a page instance for window bounds manipulation",
      "max_score": 15
    },
    {
      "name": "Get window bounds",
      "description": "Uses page.browserContext().browser().pages()[0].evaluate() with window.screenX/screenY/outerWidth/outerHeight OR uses CDP session with Browser.getWindowBounds to retrieve current window position and size",
      "max_score": 25
    },
    {
      "name": "Set window position",
      "description": "Uses CDP session with Browser.setWindowBounds command to set window left and top coordinates, or equivalent method to change window position",
      "max_score": 20
    },
    {
      "name": "Set window size",
      "description": "Uses CDP session with Browser.setWindowBounds command to set window width and height, or equivalent method to change window dimensions",
      "max_score": 20
    },
    {
      "name": "Resource cleanup",
      "description": "Properly closes the browser using browser.close() to clean up resources",
      "max_score": 5
    }
  ]
}