public async Task ShouldSendExtraHeadersWithConnectRequest() { var waitForRequest = Server.WaitForWebSocketConnectionRequest(); BrowserType.ConnectOverCDPAsync($"ws://localhost:{Server.Port}/ws", new() { Headers = new Dictionary <string, string> { { "x-foo-bar", "fookek" } }, }).IgnoreException(); var req = await waitForRequest; Assert.AreEqual("fookek", req.Headers["x-foo-bar"]); StringAssert.Contains("Playwright", req.Headers["user-agent"]); }
public async Task ShouldConnectToAnExistingCDPSession() { int port = 9393 + WorkerIndex; IBrowser browserServer = await BrowserType.LaunchAsync(new() { Args = new[] { $"--remote-debugging-port={port}" } }); try { IBrowser cdpBrowser = await BrowserType.ConnectOverCDPAsync($"http://localhost:{port}/"); var contexts = cdpBrowser.Contexts; Assert.AreEqual(1, cdpBrowser.Contexts.Count); var page = await cdpBrowser.Contexts[0].NewPageAsync(); Assert.AreEqual(2, await page.EvaluateAsync <int>("1 + 1")); await cdpBrowser.CloseAsync(); } finally { await browserServer.CloseAsync(); } }