当前位置: 首页 > article >正文

playwright 录制

一、新建项目TestProject3

二、准备swagger

三、开始录制

打开PowerShell 7 (x64)

 

cd D:\xxx\xxx\VS2022Projects\TestProject3\TestProject3\bin\Debug\net8.0
pwsh playwright.ps1 codegen --target=csharp  -b chromium localhost:5252/swagger/index.html
#支持的语言
javascript, test, python, python-async和csharp

我们这里选择C#

把生成成的代码贴进项目,需要简单调整一下如下:

 

using Microsoft.Playwright;

namespace TestProject3
{
    [TestClass]
    public class UnitTest1 : PageTest
    {
        [TestMethod]
        public async Task HomepageHasPlaywrightInTitleAndGetStartedLinkLinkingtoTheIntroPage()
        {
            await using var browser = await Playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions
            {
                Headless = false,
            });
            var context = await browser.NewContextAsync();
            var page = await context.NewPageAsync();
            await page.GotoAsync("http://localhost:5252/swagger/index.html");
            await page.GetByRole(AriaRole.Button, new PageGetByRoleOptions() { NameString  = "post ​/api​/hellos" }).ClickAsync();
            await page.GetByRole(AriaRole.Button, new() { NameString = "Try it out" }).ClickAsync();
            await page.GetByText(new Regex("\\{\\s+\"id\":\\s+0,\\s+\"name\":\\s+\"string\",\\s+\"cloudFileName\":\\s+\"string\"\\s+\\}")).ClickAsync();
            await page.GetByText(new Regex("\\{\\s+\"id\":\\s+0,\\s+\"name\":\\s+\"string\",\\s+\"cloudFileName\":\\s+\"string\"\\s+\\}")).ClickAsync();
            await page.GetByText(new Regex("\\{\\s+\"id\":\\s+0,\\s+\"name\":\\s+\"string\",\\s+\"cloudFileName\":\\s+\"string\"\\s+\\}")).ClickAsync();
            await page.GetByText(new Regex("\\{\\s+\"id\":\\s+0,\\s+\"name\":\\s+\"string\",\\s+\"cloudFileName\":\\s+\"string\"\\s+\\}")).PressAsync("ArrowUp");
            await page.GetByText(new Regex("\\{\\s+\"id\":\\s+0,\\s+\"name\":\\s+\"string\",\\s+\"cloudFileName\":\\s+\"string\"\\s+\\}")).PressAsync("ArrowUp");
            await page.GetByText(new Regex("\\{\\s+\"id\":\\s+0,\\s+\"name\":\\s+\"string\",\\s+\"cloudFileName\":\\s+\"string\"\\s+\\}")).PressAsync("ArrowUp");
            await page.GetByText(new Regex("\\{\\s+\"id\":\\s+0,\\s+\"name\":\\s+\"string\",\\s+\"cloudFileName\":\\s+\"string\"\\s+\\}")).FillAsync("{\n   \"name\": \"string\",\n  \"cloudFileName\": \"string\"\n}");
            await page.GetByRole(AriaRole.Button, new() { NameString = "Execute" }).ClickAsync();
        }
    }
}

 


http://www.kler.cn/a/471885.html

相关文章:

  • 用JAVA编写一个简单的小游戏
  • Ungoogled Chromium127 编译指南 MacOS篇(八)- 开始编译
  • reducer同步,dispatch异步
  • 28、使用StreamPark管理作业中,关于默认环境变量设置和默认动态参数设置的修改
  • 浙江安吉成新的分布式光伏发电项目应用
  • MATLAB对文件处理
  • QT 下拉菜单设置参数 起始端口/结束端口/线程数量 端口扫描4
  • C#异步多线程——ThreadPool线程池
  • 分享:osgb倾斜数据转cesium-3dtiles 小工具.
  • 计算机网络之---有线网络的传输介质
  • STM32-WWDG/IWDG看门狗
  • 海陵HLK-TX510人脸识别模块 stm32使用
  • 常见的开源网络操作系统
  • 如何很快将文件转换成另外一种编码格式?编码?按指定编码格式编译?如何检测文件编码格式?Java .class文件编码和JVM运行期内存编码?
  • 关于Mac中的shell
  • RP2K:一个面向细粒度图像的大规模零售商品数据集
  • 使用ML.NET进行对象检测
  • opencv摄像头标定程序实现
  • Go语言的语法
  • 会员制营销与门店业绩提升:以开源AI智能名片S2B2C商城小程序为例的深度剖析
  • 基于微信小程序的考研资料分享系统的设计与实现springboot+论文源码调试讲解
  • 【阅读】认知觉醒
  • Mermaid 使用教程之流程图 - 从入门到精通
  • 2025新春烟花代码(一)HTML5夜景放烟花绽放动画效果
  • 基于Thinkphp6+uniapp的陪玩陪聊软件开发方案分析
  • flutter web 路由问题