Best Playwright-dotnet code snippet using Microsoft.Playwright.Tests.DownloadTests.ShouldDeleteDownloadsOnBrowserGone
DownloadTests.cs
Source:DownloadTests.cs  
...360            Assert.False(new FileInfo(path1).Exists);361            Assert.False(new FileInfo(path2).Exists);362        }363        [PlaywrightTest("download.spec.ts", "should delete downloads on browser gone")]364        public async Task ShouldDeleteDownloadsOnBrowserGone()365        {366            var browser = await BrowserType.LaunchAsync();367            var page = await browser.NewPageAsync(new() { AcceptDownloads = true });368            await page.SetContentAsync($"<a href=\"{Server.Prefix}/download\">download</a>");369            var download1Task = page.WaitForDownloadAsync();370            await TaskUtils.WhenAll(371                download1Task,372                page.ClickAsync("a"));373            var download2Task = page.WaitForDownloadAsync();374            await TaskUtils.WhenAll(375                download2Task,376                page.ClickAsync("a"));377            string path1 = await download1Task.Result.PathAsync();378            string path2 = await download2Task.Result.PathAsync();...ShouldDeleteDownloadsOnBrowserGone
Using AI Code Generation
1using Microsoft.Playwright;2using Microsoft.Playwright.Tests;3using NUnit.Framework;4using System;5using System.Collections.Generic;6using System.Linq;7using System.Text;8using System.Threading.Tasks;9{10    {11        [PlaywrightTest("download.spec.ts", "should delete downloads on browser gone")]12        [Test, Timeout(TestConstants.DefaultTestTimeout)]13        public async Task ShouldDeleteDownloadsOnBrowserGone()14        {15            await Page.SetContentAsync("<a download='file.txt' href='data:text/plain,hello'>download</a>");16            var downloadTask = Page.WaitForEventAsync(PageEvent.Download);17            await TaskUtils.WhenAll(18                Page.ClickAsync("a")19            );20            var download = downloadTask.Result;21            Assert.AreEqual(TestConstants.DownloadsPath, download.SuggestedFilename);22            Assert.True(System.IO.File.Exists(download.SuggestedFilename));23            await Page.Browser.CloseAsync();24            Assert.False(System.IO.File.Exists(download.SuggestedFilename));25        }26    }27}28{29    {30        public async Task<IPage> WaitForEventAsync(PageEvent e)31        {32            var tcs = new TaskCompletionSource<IPage>();33            void Handler(object sender, PageEventArgs args)34            {35                tcs.TrySetResult(args.Page);36            }37            switch (e)38            {39                    Close += Handler;40                    break;41                    Console += Handler;42                    break;43                    Dialog += Handler;44                    break;45                    Download += Handler;46                    break;47                    DOMContentLoaded += Handler;48                    break;49                    Error += Handler;50                    break;51                    FrameAttached += Handler;52                    break;53                    FrameDetached += Handler;54                    break;55                    FrameNavigated += Handler;56                    break;57                    Load += Handler;58                    break;59                    PageError += Handler;60                    break;61                    Popup += Handler;62                    break;63                    Request += Handler;64                    break;ShouldDeleteDownloadsOnBrowserGone
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Text;4using System.Threading.Tasks;5using NUnit.Framework;6using NUnit.Framework.Interfaces;7using NUnit.Framework.Internal;8{9    [Parallelizable(ParallelScope.Self)]10    {11        [PlaywrightTest("download.spec.ts", "should delete downloads on browser gone")]12        [Test, Timeout(TestConstants.DefaultTestTimeout)]13        public async Task ShouldDeleteDownloadsOnBrowserGone()14        {15            await using var browser = await BrowserType.LaunchAsync();16            var page = await browser.NewPageAsync();17            await page.SetContentAsync("<a download=target.html href=\"data:text/html,<div>yo</div>\">download</a>");18            var downloadTask = page.ClickAsync("a");19            var download = await downloadTask;20            Assert.AreEqual(TestConstants.DownloadsPath, download.SuggestedFilename);21            Assert.AreEqual("target.html", download.Filename);22            Assert.True(await download.PathAsync().Contains("download-"));23            Assert.AreEqual("text/html", download.ContentType);24            await browser.CloseAsync();25            await download.FailureAsync();26            var exception = Assert.ThrowsAsync<PlaywrightSharpException>(async () => await download.PathAsync());27            Assert.AreEqual("DShouldDeleteDownloadsOnBrowserGone
Using AI Code Generation
1using Microsoft.Playwright;2using System;3using System.Threading.Tasks;4using Xunit;5using Xunit.Abstractions;6{7    {8        private readonly ITestOutputHelper output;9        public Tests(ITestOutputHelper output)10        {11            this.output = output;12        }13        public async Task Test1()14        {15            using var playwright = await Playwright.CreateAsync();16            await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions17            {18            });19            var context = await browser.NewContextAsync(new BrowserNewContextOptions20            {21            });22            var page = await context.NewPageAsync();23            var download = page.WaitForEventAsync(PageEvent.Download);24            await Task.WhenAll(25            var download2 = page.WaitForEventAsync(PageEvent.Download);26            await Task.WhenAll(27            var download3 = page.WaitForEventAsync(PageEvent.Download);28            await Task.WhenAll(29            var download4 = page.WaitForEventAsync(PageEvent.Download);30            await Task.WhenAll(31            var download5 = page.WaitForEventAsync(PageEvent.Download);32            await Task.WhenAll(33            var download6 = page.WaitForEventAsync(PageEvent.Download);34            await Task.WhenAll(35            var download7 = page.WaitForEventAsync(PageEvent.Download);36            await Task.WhenAll(ShouldDeleteDownloadsOnBrowserGone
Using AI Code Generation
1public async Task ShouldDeleteDownloadsOnBrowserGone()2{3var options = new BrowserTypeLaunchOptions();4options.DownloadsPath = DownloadPath;5options.Headless = true;6var browser = await BrowserType.LaunchAsync(options);7var page = await browser.NewPageAsync();8await page.GotoAsync(Server.Prefix + "/download");9await page.ClickAsync("a");10var download = await page.WaitForEventAsync(PageEvent.Download);11await browser.CloseAsync();12Assert.False(File.Exists(DownloadPath + "/download.txt"));13}14public async Task ShouldDeleteDownloadsOnContextGone()15{16var options = new BrowserTypeLaunchOptions();17options.DownloadsPath = DownloadPath;18options.Headless = true;19var browser = await BrowserType.LaunchAsync(options);20var context = await browser.NewContextAsync();21var page = await context.NewPageAsync();22await page.GotoAsync(Server.Prefix + "/download");23await page.ClickAsync("a");24var download = await page.WaitForEventAsync(PageEvent.Download);25await context.CloseAsync();26Assert.False(File.Exists(DownloadPath + "/download.txt"));27}28public async Task ShouldNotDeleteDownloadsWhenBrowserIsClosed()29{30var options = new BrowserTypeLaunchOptions();31options.DownloadsPath = DownloadPath;32options.Headless = true;33var browser = await BrowserType.LaunchAsync(options);34var page = await browser.NewPageAsync();35await page.GotoAsync(Server.Prefix + "/download");36await page.ClickAsync("a");37var download = await page.WaitForEventAsync(PageEvent.Download);38await browser.CloseAsync();39Assert.True(File.Exists(DownloadPath + "/download.txt"));40}41public async Task ShouldNotDeleteDownloadsWhenContextIsClosed()42{43var options = new BrowserTypeLaunchOptions();44options.DownloadsPath = DownloadPath;45options.Headless = true;46var browser = await BrowserType.LaunchAsync(options);47var context = await browser.NewContextAsync();48var page = await context.NewPageAsync();49await page.GotoAsync(Server.Prefix + "/download");50await page.ClickAsync("a");ShouldDeleteDownloadsOnBrowserGone
Using AI Code Generation
1public async Task ShouldDeleteDownloadsOnBrowserGone()2{3    var browser = await BrowserType.LaunchAsync(new BrowserTypeLaunchOptions4    {5    });6    var page = await browser.NewPageAsync();7    var downloadTask = page.WaitForEventAsync(PageEvent.Download);8    await page.GotoAsync(Server.Prefix + "/download");9    var download = await downloadTask;10    await browser.CloseAsync();11    await download.FailureAsync();12    Assert.False(File.Exists(download.SuggestedFilename));13}14public async Task ShouldDeleteDownloadsOnContextGone()15{16    var browser = await BrowserType.LaunchAsync(new BrowserTypeLaunchOptions17    {18    });19    var context = await browser.NewContextAsync();20    var page = await context.NewPageAsync();21    var downloadTask = page.WaitForEventAsync(PageEvent.Download);22    await page.GotoAsync(Server.Prefix + "/download");23    var download = await downloadTask;24    await context.CloseAsync();25    await download.FailureAsync();26    Assert.False(File.Exists(download.SuggestedFilename));27}28public async Task ShouldDeleteDownloadsOnPageGone()29{30    var browser = await BrowserType.LaunchAsync(new BrowserTypeLaunchOptions31    {32    });33    var page = await browser.NewPageAsync();34    var downloadTask = page.WaitForEventAsync(PageEvent.Download);35    await page.GotoAsync(Server.Prefix + "/download");36    var download = await downloadTask;37    await page.CloseAsync();38    await download.FailureAsync();39    Assert.False(File.Exists(download.SuggestedFilename));40}41public async Task ShouldReportDownloadProgress()42{43    var browser = await BrowserType.LaunchAsync(new BrowserTypeLaunchOptions44    {ShouldDeleteDownloadsOnBrowserGone
Using AI Code Generation
1public async Task ShouldDeleteDownloadsOnBrowserGone()2{3    await using var browser = await BrowserType.LaunchAsync(new BrowserTypeLaunchOptions{Headless = false, DownloadsPath = TestConstants.GetTestOutputPath()});4    var page = await browser.NewPageAsync();5    var downloadTask = page.RunAndWaitForDownloadAsync(async () => await page.GotoAsync(Server.EmptyPage));6    var download = await downloadTask;7    var downloadsPath = download.SuggestedFilename;8    Assert.True(File.Exists(downloadsPath));9    await browser.CloseAsync();10    Assert.False(File.Exists(downloadsPath));11}12public async Task ShouldDeleteDownloadsOnContextGone()13{14    await using var browser = await BrowserType.LaunchAsync(new BrowserTypeLaunchOptions{Headless = false, DownloadsPath = TestConstants.GetTestOutputPath()});15    var context = await browser.NewContextAsync();16    var page = await context.NewPageAsync();17    var downloadTask = page.RunAndWaitForDownloadAsync(async () => await page.GotoAsync(Server.EmptyPage));18    var download = await downloadTask;19    var downloadsPath = download.SuggestedFilename;20    Assert.True(File.Exists(downloadsPath));21    await context.CloseAsync();22    Assert.False(File.Exists(downloadsPath));23}24public async Task ShouldDeleteDownloadsOnPageGone()25{26    await using var browser = await BrowserType.LaunchAsync(new BrowserTypeLaunchOptions{Headless = false, DownloadsPath = TestConstants.GetTestOutputPath()});27    var context = await browser.NewContextAsync();28    var page = await context.NewPageAsync();29    var downloadTask = page.RunAndWaitForDownloadAsync(async () => await page.GotoAsync(Server.EmptyPage));30    var download = await downloadTask;31    var downloadsPath = download.SuggestedFilename;32    Assert.True(File.Exists(downloadsPath));33    await page.CloseAsync();34    Assert.False(File.Exists(downloadsPath));35}36public async Task ShouldNotDeleteDownloadsWhenBrowserIsNotClosed()37{38    await using var browser = await BrowserType.LaunchAsync(new BrowserTypeShouldDeleteDownloadsOnBrowserGone
Using AI Code Generation
1using Microsoft.Playwright.Tests;2using System;3using System.Collections.Generic;4using System.Linq;5using System.Text;6using System.Threading.Tasks;7{8    {9        public async Task ShouldDeleteDownloadsOnBrowserGone()10        {11            var browser = await BrowserType.LaunchAsync();12            var page = await browser.NewPageAsync();13            await page.GotoAsync(Server.EmptyPage);14            var downloadTask = page.RunAndWaitForDownloadAsync(async () => await page.ClickAsync("a"));15            await page.GotoAsync(Server.EmptyPage);16            var download = await downloadTask;17            await browser.CloseAsync();18            Assert.True(await download.PathAsync().ExistsAsync());19            await download.DeleteAsync();20            Assert.False(await download.PathAsync().ExistsAsync());21        }22    }23}24using Microsoft.Playwright.Tests;25using System;26using System.Collections.Generic;27using System.Linq;28using System.Text;29using System.Threading.Tasks;30{31    {32        public async Task ShouldDeleteDownloadsWithNoBrowserContext()33        {34            var browser = await BrowserType.LaunchAsync();35            var page = await browser.NewPageAsync();36            await page.GotoAsync(Server.EmptyPage);37            var downloadTask = page.RunAndWaitForDownloadAsync(async () => await page.ClickAsync("a"));38            await page.GotoAsync(Server.EmptyPage);39            var download = await downloadTask;40            await browser.CloseAsync();41            Assert.True(await download.PathAsync().ExistsAsync());42            await download.DeleteAsync();43            Assert.False(await download.PathAsync().ExistsAsync());44        }45    }46}47using Microsoft.Playwright.Tests;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!!
