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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

使用 Playwright 对 ASP.NET Core 应用执行功能测试

發布時間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 Playwright 对 ASP.NET Core 应用执行功能测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

在前面的文章中,我們已經介紹過?Playwright for .NET,它常用于自動化測試已經部署好的 Web 應用。

其實,開發人員也可以使用它在 ASP.NET Core 應用程序中進行功能測試。

功能測試

功能測試是從用戶角度編寫,用于基于其要求驗證系統的正確性。由于功能測試在系統級別運行,所以可能需要一定程度的UI自動化。

目前常用的實現方式[1],是驗證給定的路由(比如"/")是否返回預期的成功狀態代碼和 HTML 輸出,例如:

[Fact] public?async?Task?ReturnsHomePageWithProductListing() {//?Arrange?&?Actvar?response?=?await?Client.GetAsync("/");response.EnsureSuccessStatusCode();var?stringResponse?=?await?response.Content.ReadAsStringAsync();//?AssertAssert.Contains(".NET?Bot?Black?Sweatshirt",?stringResponse); }

測試案例

但是,這樣測試不能保證用戶交互后是否返回預期的輸出。

例如,我們需要測試,點擊“Privacy”鏈接,顯示正確的頁面數據,如下圖:

這時,我們就可以使用 Playwright for .NET 來編寫功能測試。

編寫代碼

在 WebApplication1 解決方案中添加 XUnit 項目,引用 nuget 包Microsoft.Playwright。

像普通自動化測試那樣,編寫測試用例代碼:

const?string?BaseURL?=?"http://localhost:5000";[Fact] public?async?Task?Test1() {var?playwright?=?await?Playwright.CreateAsync();var?browser?=?await?playwright.Chromium.LaunchAsync();var?page?=?await?browser.NewPageAsync();await?page.GotoAsync(BaseURL);await?page.ClickAsync("a[href='/Privacy']");var?handle?=?await?page.WaitForSelectorAsync("h1");var?text?=?await?handle.InnerTextAsync();Assert.Equal("Privacy?Policy",?text); }

啟動應用

現在測試還不能正常執行,因為我們是在解決方案中進行測試,并沒有真正啟動應用,導致 Playwright 無法瀏覽 BaseURL。

因此,我們需要在測試代碼頂部啟動應用。

實現方式也很簡單,直接調用Program.cs的CreateHostBuilder方法啟動站點:

public?async?Task?Test1() {await?WebApplication1.Program.CreateHostBuilder(new?string[]?{?$@"--urls={BaseURL}"?}).Build().StartAsync();

這里有個小技巧,我們傳遞--urls參數,指定了應用默認地址。

現在,功能測試可以正常執行,并通過測試了。

結論

功能測試可以確保應用程序的前端按預期運行,使用 Playwright for .NET 保證了用戶交互也是按預期執行。

想了解更多內容,請關注我的個人公眾號”My IO“

參考資料

[1]

實現方式: https://docs.microsoft.com/zh-cn/dotnet/architecture/modern-web-apps-azure/test-asp-net-core-mvc-apps#functional-testing-aspnet-core-apps

總結

以上是生活随笔為你收集整理的使用 Playwright 对 ASP.NET Core 应用执行功能测试的全部內容,希望文章能夠幫你解決所遇到的問題。

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