MoonBit Chrome DevTools Protocol library
Dependencies
| Package | Purpose |
|---|---|
| justjavac/cdp/protocol | Wire types, bundled manifest, schema validation, remote schema diff. |
| justjavac/cdp/protocol/typed | Generated params, command builders, event builders, result decoders. |
| justjavac/cdp/client | Discovery, WebSocket client, event buffer, target helpers, launch helpers. |
moon installchrome --remote-debugging-port=9222 --user-data-dir=/tmp/mbt-cdp-profile& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
--remote-debugging-port=9222 `
--user-data-dir="$env:TEMP\mbt-cdp-profile"let target = @client.parse_cdp_target("9222")
let browser = @client.connect_cdp_browser_target(target)
defer browser.close()
let response = browser.send_schema_command("Browser.getVersion")
println(@client.cdp_response_result_json(response).stringify())let page = @client.connect_cdp_page_target(@client.parse_cdp_target("9222"))
defer page.close()
let response = page.send_schema_command(
"Runtime.evaluate",
params={
"expression": "1 + 1",
"returnByValue": true,
},
)
println(@client.cdp_response_result_json(response).stringify())$env:MBT_CDP_TARGET = "9222"
$env:MBT_CDP_EXAMPLE = "discover_version"
moon -C examples run cmd
$env:MBT_CDP_EXAMPLE = "runtime_evaluate"
moon -C examples run cmdmoon test
node tools/check_non_generated_coverage.mjs 100$env:MBT_CDP_E2E = "1"
$env:MBT_CDP_TARGET = "9222"
moon test client --filter "*real Chrome CDP E2E*"MoonBit Chrome DevTools Protocol library
Dependencies