Best Playwright-dotnet code snippet using Microsoft.Playwright.Tests.PageScreenshotTests.ShouldRestoreViewportAfterFullPageScreenshot
PageScreenshotTests.cs
Source:PageScreenshotTests.cs  
...142            byte[] screenshot = await Page.ScreenshotAsync(new() { FullPage = true });143            Assert.True(ScreenshotHelper.PixelMatch("screenshot-grid-fullpage.png", screenshot));144        }145        [PlaywrightTest("page-screenshot.spec.ts", "should restore viewport after fullPage screenshot")]146        public async Task ShouldRestoreViewportAfterFullPageScreenshot()147        {148            await Page.SetViewportSizeAsync(500, 500);149            await Page.GotoAsync(Server.Prefix + "/grid.html");150            await Page.ScreenshotAsync(new() { FullPage = true });151            Assert.AreEqual(500, Page.ViewportSize.Width);152            Assert.AreEqual(500, Page.ViewportSize.Height);153        }154        [PlaywrightTest("page-screenshot.spec.ts", "should run in parallel in multiple pages")]155        public async Task ShouldRunInParallelInMultiplePages()156        {157            int n = 5;158            var pageTasks = new List<Task<IPage>>();159            for (int i = 0; i < n; i++)160            {...ShouldRestoreViewportAfterFullPageScreenshot
Using AI Code Generation
1using Microsoft.Playwright;2using System.Threading.Tasks;3{4    static async Task Main(string[] args)5    {6        using var playwright = await Playwright.CreateAsync();7        await using var browser = await playwright.Chromium.LaunchAsync(new() { Headless = false });8        var context = await browser.NewContextAsync();9        var page = await context.NewPageAsync();10        await page.ScreenshotAsync(new() { FullPage = true, Path = "screenshot.png" });11        await page.ScreenshotAsync(new() { FullPage = true, Path = "screenshot.png" });12        await browser.CloseAsync();13    }14}ShouldRestoreViewportAfterFullPageScreenshot
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using Microsoft.Playwright;4using Xunit;5using Xunit.Abstractions;6{7    {8        public PageScreenshotTests(ITestOutputHelper output) : base(output)9        {10        }11        public async Task ShouldRestoreViewportAfterFullPageScreenshot()12        {13            await Page.SetViewportSizeAsync(500, 500);14            await Page.GotoAsync(Server.Prefix + "/grid.html");15            await Page.ScreenshotAsync(new PageScreenshotOptions { FullPage = true });16            Assert.Equal(500, await Page.EvaluateAsync<int>("window.innerWidth"));17        }18    }19}ShouldRestoreViewportAfterFullPageScreenshot
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using Microsoft.Playwright;7using NUnit.Framework;8{9    [Parallelizable(ParallelScope.Self)]10    {11        [PlaywrightTest("page-screenshot.spec.ts", "should restore viewport after full page screenshot")]12        [Test, Timeout(TestConstants.DefaultTestTimeout)]13        public async Task ShouldRestoreViewportAfterFullPageScreenshot()14        {15            await Page.GotoAsync(Server.Prefix + "/grid.html");16            await Page.EvaluateAsync(@"() => {17                window.scrollBy(50, 100);18                document.querySelector('#item-1').style.backgroundColor = 'red';19                document.querySelector('#item-2').style.backgroundColor = 'blue';20            }");21            var screenshot = await Page.ScreenshotAsync(new PageScreenshotOptions { FullPage = true });22            Assert.AreEqual(800, screenshot.Width);23            Assert.AreEqual(600, screenshot.Height);24            Assert.AreEqual(new System.Drawing.Color(255, 0, 0), screenshot.GetPixel(100, 150));25            Assert.AreEqual(new System.Drawing.Color(0, 0, 255), screenshot.GetPixel(100, 350));26        }27    }28}ShouldRestoreViewportAfterFullPageScreenshot
Using AI Code Generation
1using Microsoft.Playwright;2using NUnit.Framework;3using System.Threading.Tasks;4{5    {6        [PlaywrightTest("page-screenshot.spec.ts", "should restore viewport after full page screenshot")]7        [Test, Timeout(TestConstants.DefaultTestTimeout)]8        public async Task ShouldRestoreViewportAfterFullPageScreenshot()9        {10            await Page.GotoAsync(Server.Prefix + "/grid.html");11            await Page.SetViewportSizeAsync(500, 500);12            await Page.EvaluateAsync("window.scrollBy(50, 100)");13            await Page.ScreenshotAsync(new PageScreenshotOptions()14            {15            });16            Assert.AreEqual(500, (await Page.EvaluateAsync<int>("window.innerWidth")).ToString());17            Assert.AreEqual(500, (await Page.EvaluateAsync<int>("window.innerHeight")).ToString());18            Assert.AreEqual(50, (await Page.EvaluateAsync<int>("window.scrollX")).ToString());19            Assert.AreEqual(100, (await Page.EvaluateAsync<int>("window.scrollY")).ToString());20        }21    }22}ShouldRestoreViewportAfterFullPageScreenshot
Using AI Code Generation
1var page = await context.NewPageAsync();2var screenshot = await page.ScreenshotAsync(new PageScreenshotOptions3{4});5var page = await context.NewPageAsync();6var screenshot = await page.ScreenshotAsync(new PageScreenshotOptions7{8});9var page = await context.NewPageAsync();10var screenshot = await page.ScreenshotAsync(new PageScreenshotOptions11{12});13var page = await context.NewPageAsync();14var screenshot = await page.ScreenshotAsync(new PageScreenshotOptions15{16});ShouldRestoreViewportAfterFullPageScreenshot
Using AI Code Generation
1{2    {3        [PlaywrightTest("page-screenshot.spec.ts", "should restore viewport after fullPage screenshot")]4        [Fact(Timeout = PlaywrightSharp.Playwright.DefaultTimeout)]5        public async Task ShouldRestoreViewportAfterFullPageScreenshot()6        {7            await Page.GoToAsync(TestConstants.ServerUrl + "/grid.html");8            await Page.SetViewportSizeAsync(500, 500);9            await Page.EvaluateAsync(@"() => {10                window.scrollBy(50, 100);11                document.querySelector('#item-3').style.backgroundColor = 'red';12            }");13            await Page.ScreenshotAsync(new ScreenshotOptions { FullPage = true });14            Assert.Equal(new ViewportSize { Width = 500, Height = 500 }, await Page.EvaluateAsync<ViewportSize>(@"() => {15                return {16                };17            }"));18        }19    }20}LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!
