[dotnet] [bidi] Possibility to use any external transport#17625
Conversation
Review Summary by QodoMake ITransport public and add custom transport injection
WalkthroughsDescription• Make ITransport interface public for external implementations • Add UseTransport() method to inject custom transport instances • Enable flexible transport configuration for advanced scenarios Diagramflowchart LR
BiDiOptionsBuilder["BiDiOptionsBuilder"]
UseTransport["UseTransport method"]
ITransport["ITransport interface"]
CustomTransport["Custom transport instance"]
BiDiOptionsBuilder -- "new method" --> UseTransport
UseTransport -- "accepts" --> CustomTransport
CustomTransport -- "implements" --> ITransport
ITransport -- "now public" --> CustomTransport
File Changes1. dotnet/src/webdriver/BiDi/BiDiOptionsBuilder.cs
|
Code Review by Qodo
1. ThrowIfNull TFM break
|
|
Code review by qodo was updated up to the latest commit 3327798 |
|
Code review by qodo was updated up to the latest commit c4fe44e |
|
Code review by qodo was updated up to the latest commit 8513649 |
|
Perfect, now we can test edge cases, what cannot be performed with real browser. |
2 reasons:
💥 What does this PR do?
This pull request introduces improvements to the BiDi transport configuration in the WebDriver .NET implementation. The main changes add flexibility for specifying custom transport implementations and improve interface accessibility.
Transport configuration enhancements
UseTransport(ITransport transport)method to theBiDiOptionsBuilderclass, allowing consumers to inject a customITransportinstance for BiDi connections. This makes it easier to provide alternative transport mechanisms for advanced scenarios or testing.Interface accessibility
ITransportinterface from internal to public, making it accessible for external implementations and enabling the use of custom transports with the new builder method.🤖 AI assistance
💡 Additional Considerations
🔄 Types of changes