Playwright for .Net:自动化测试工具快速上手与实用技巧

360影视 2025-01-22 09:41 3

摘要:Microsoft.Playwright 是由微软开发的开源自动化测试工具,支持多种编程语言(如 C#、JavaScript、Python 等)和主流浏览器(Chromium、Firefox、WebKit)。它通过统一的 API 提供跨浏览器的自动化能力,广泛

Microsoft.Playwright 是由微软开发的开源自动化测试工具,支持多种编程语言(如 C#、JavaScript、Python 等)和主流浏览器(Chromium、Firefox、WebKit)。它通过统一的 API 提供跨浏览器的自动化能力,广泛应用于 Web 应用的端到端测试、爬虫开发和自动化任务,支持无头模式、设备仿真、截图等功能,帮助开发者高效实现自动化测试和开发任务。

第一步老规矩,安装Nuget包

dotnet add package Microsoft.Playwright

下面是使用 Playwright 在必应浏览器中输入“dotnetshare”并截屏的操作。

// See https://aka.ms/new-console-template for more information
using System.Text.RegularExpressions;
using Microsoft.Playwright;

Console.WriteLine("Hello, World!");

// 创建 Playwright 实例
usingvar playwright = await Playwright.CreateAsync;

// 指定浏览器的可执行文件路径
stringexecutablePath = @"C:\Program Files\Google\Chrome\Application\chrome.exe";
// 启动浏览器(Chromium)
awaitusingvar browser = await playwright.Chromium.LaunchAsync(
new BrowserTypeLaunchOptions {
Headless =false
ExecutablePath = executablePath,
}
);

// 创建新页面
var page = await browser.NewPageAsync;

// 打开目标网页
await page.GotoAsync("https://cn.bing.com/");

// 定位搜索框并输入“Netshare”
var searchBox = page.Locator("input[name='q']");
await searchBox.FillAsync("dotnetshare");

// 模拟按下回车键进行搜索
await searchBox.PressAsync("Enter");

// 等待页面加载完成
await page.RunAndWaitForConsoleMessageAsync(async => {
}
);

Thread.Sleep(2000);

// 截图保存搜索结果页面
await page.ScreenshotAsync(new PageScreenshotOptions { Path = "bing-search-result.png" });

// 选择下拉框中的选项
//await page.SelectOptionAsync("select[name='name']", "dotnetshare");

// 找到文件上传输入框
//var fileInput = await page.QuerySelectorAsync("input[type='file']");

// 上传文件
//string filePath = "C:\\Users\\Pride\\Pictures\\20210517111144223.png";
//await fileInput.SetInputFilesAsync(filePath);

// 提取页面标题
//string title = await page.TitleAsync;
//Console.WriteLine("Page title: " + title);

// 等待表格加载完毕
//await page.WaitForSelectorAsync("table");

// 获取表格内容
//var tableHtml = await page.InnerHTMLAsync("table");

// 使用正则表达式提取表格数据
//var regex = new Regex(@"(.*?)");
//var matches = regex.Matches(tableHtml);

// 关闭浏览器
//await browser.CloseAsync;

Playwright 是一个非常强大的自动化工具,提供了丰富的功能,用于测试、爬虫开发和自动化操作。

官方文档:https://learn.microsoft.com/zh-cn/microsoft-edge/playwright/

来源:opendotnet

相关推荐