[rb] add low-level BiDi protocol integration specs - #17878
Conversation
PR Summary by QodoAdd Ruby BiDi protocol integration specs with strict serialization errors
AI Description
Diagram
High-Level Assessment
Files changed (20)
|
Code Review by Qodo
1.
|
… handle_user_prompt specs
|
Code review by qodo was updated up to the latest commit 187b2c4 |
|
Code review by qodo was updated up to the latest commit 4f5d62b |
|
Code review by qodo was updated up to the latest commit 8094039 |
…l Safari permissions probe
|
Code review by qodo was updated up to the latest commit 666b9ff |
|
Code review by qodo was updated up to the latest commit bee1210 |
🔗 Related Issues
💥 What does this PR do?
Protocolintegration specs covering every command across all domains, exercised happy-path against real browsers.SerializationErrorinstead of a bareWebDriverError.🔧 Implementation Notes
UnknownCommandError— command or whole module the browser doesn't recognizeUnsupportedOperationError— recognized but not implemented / not permittedSerializationError— malformed or incomplete response (surfaced by strict mode)pendingguards that flip to a failure the moment a browser starts supporting the command — a built-in "support landed" signal.skipper browser+OS (notpending), so they don't burn the full timeout every run.Cells show the error class the guard asserts (linked where a bug is filed);
n/a= works.*describes Windows behavior where different (TimeoutError*= works elsewhere but times out on Windows and is skipped there).emulation.setForcedColorsModeThemeOverrideUnsupportedOperationErrorUnsupportedOperationErrorUnknownCommandErroremulation.setGeolocationOverride(error:)InvalidArgumentErroremulation.setScriptingEnabledUnknownCommandErroremulation.setScrollbarTypeOverrideUnknownCommandErrorUnknownCommandErroremulation.setTouchOverrideUnknownCommandErrorbrowsingContext.setBypassCSPUnsupportedOperationErrorUnknownCommandErrorUnknownCommandErrorbrowsingContext.startScreencastUnsupportedOperationErrorUnknownCommandErrorbrowsingContext.reload(ignoreCache: true)UnsupportedOperationErrorinput.setFilesUnsupportedOperationErrorwebExtension.install(archivePath / base64)UnsupportedOperationErrorUnsupportedOperationErroruserAgentClientHints.setClientHintsOverrideUnknownCommandErrorbluetooth.*(entire module)UnknownCommandErrorbluetooth.*(device-response commands)TimeoutError*TimeoutError*UnknownCommandErrorbrowser.setDownloadBehavior(file download)TimeoutError*TimeoutError*TimeoutError*browser.closeUnsupportedOperationErrorsession.endUnsupportedOperationError🤖 AI assistance
💡 Additional Considerations
SerializationError) or are unimplemented; those are guardedpendingso they signal when Safari catches up.🔄 Types of changes