日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

用啥Selenium?! .NET程序员就用自家的Playwright for .NET

發布時間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用啥Selenium?! .NET程序员就用自家的Playwright for .NET 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

提到用于Web應用程序自動化測試的工具,大家肯定第一個想到的就是Selenium。可以說,Selenium已經成為以編程方式自動化瀏覽器的事實標準。但是,Selenium作為老牌工具,也存在一些缺點,比如不支持Shadow DOM ,而這在現代網頁程序中非常常見。

這就給新一代瀏覽器自動化工具的發展提供了機會。比如下面我們要介紹的Playwright for .NET

Playwright for .NET

Playwright 是微軟開源的一個基于 Node.js 的工具庫,可使用相同的API調用Chromium(Google-Chrome、Microsoft-Edge)、WebKit(Apple-Safari)和Mozilla-Firefox瀏覽器自動執行任務。

而Playwright for .NET(https://github.com/microsoft/playwright-dotnet)是Playwright的官方.NET移植,擁有原始庫中的所有功能,可以在.NET中使用。

功能一瞥

首先,執行下面命令,安裝全局工具:

dotnet?tool?install?--global?Microsoft.Playwright.CLI

我們創建一個NUnit測試項目,然后在項目目錄下執行下面命令,引用“Microsoft.Playwright” Nuget包:

dotnet?add?package?Microsoft.Playwright dotnet?build playwright?install

最后一個命令會調用之前安裝的全局工具,安裝Playwright工作所需的瀏覽器。

我們測試執行百度高級搜索的操作,編寫測試代碼如下:

using?Microsoft.Playwright; using?NUnit.Framework; using?System.Threading.Tasks;namespace?TestProject1 {public?class?Tests{[Test]public?async?Task?BaiduSearch(){using?var?playwright?=?await?Playwright.CreateAsync();await?using?var?browser?=?await?playwright.Chromium.LaunchAsync(new()?{?Headless?=?true?});var?page?=?await?browser.NewPageAsync();await?page.GotoAsync("https://www.baidu.com/");await?page.WaitForSelectorAsync("#s-usersetting-top");//?鼠標懸停在設置按鈕,彈出菜單await?page.HoverAsync("#s-usersetting-top");//?點擊高級搜索鏈接,彈出高級搜索窗口await?page.ClickAsync("a[href='//www.baidu.com/gaoji/advanced.html']");//?輸入搜索關鍵字await?page.TypeAsync("input[name='q1']",?"\"My?IO\"");var?page1?=?await?page.RunAndWaitForPopupAsync(async?()?=>{//?點擊搜索await?page.ClickAsync(".advanced-search-btn");});//檢查文本框內容var?handle?=?await?page1.WaitForSelectorAsync("#kw");var?text?=?await?handle.GetAttributeAsync("value");Assert.AreEqual("\"My?IO\"",?text);}} }

通過上面的示例,我們看到Playwright for .NET可以使用多種方式定位元素,還可以執行一些特殊操作,比如鼠標懸停。

高級功能

Playwright for .NET還有一個厲害的錄制功能,無需寫一行代碼,我們只需手動操作瀏覽器,它會錄制我們的操作,然后自動生成代碼腳本。

執行下面的命令啟動錄制:

playwright?codege?

結論

有了Playwright for .NET,我們就可以創建支持所有現代Web瀏覽器的自動化測試了,大家趕快用起來吧!

歡迎關注我的個人公眾號”My IO“

總結

以上是生活随笔為你收集整理的用啥Selenium?! .NET程序员就用自家的Playwright for .NET的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。