コード例 #1
0
        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"]);
        }
コード例 #2
0
        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();
            }
        }