[英]Run selenium test case from a console application c#
帶有批處理文件的控制台應用程序,它將命中我的自動化測試應用程序並運行選定的測試用例。 我有代碼覆蓋率的測試用例,它從我的視覺工作室運行。 現在最重要的是我必須創建一個控制台應用程序,它將保持一些時間間隔並點擊我的 VS 測試用例並執行它。任何鏈接都會有所幫助。
我希望測試用例通過和失敗狀態
這是我用來運行帶有多個運行設置文件的 Selenium 測試的批處理文件。
@ECHO OFF
IF NOT EXIST Results MKDIR Results
SETLOCAL
SET PATH=%PATH%;"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\TestPlatform"
SET VSTEST=vstest.console.exe
SET TESTS=.\bin\Debug\something.something.Tests.dll
IF "%~1"=="" (
FOR %%J IN (*.runsettings) DO CALL :func %%J
) ELSE (
CALL :func "%~1"
)
GOTO :EOF
:func
ECHO.
ECHO %~1 **********
ECHO.
"%VSTEST%" %TESTS% /Settings:"%~1" /Logger:trx /ResultsDirectory:Results
GOTO :EOF
您可以使用 NUUnit 的控制台運行程序從命令行或構建服務器上運行測試。 我以這種方式運行測試取得了巨大的成功。
首先,您需要將NUnit.ConsoleRunner
Nuget package 安裝到您的項目中。
然后,導航到項目目錄中存在的packages
文件夾下的 NUnit.ConsoleRunner 目錄。
打開NUnit.ConsoleRunner > tools
文件夾以進入與 .exe 本身相同的目錄。
然后,您可以運行:
nunit3-console {Path to your project's.dll} --testlist={Path to.txt testlist}
使用有效參數,它看起來像這樣:
nunit3-console C:\Users\christine.harbour\Repository\AutomationTestSuite\AutomationTestSuite.dll --testlist=C:\Users\christine.harbour\Repository\AutomationTestSuite\MyTestList.txt
您的測試列表應該包含您希望運行的測試用例的命名空間,並用換行符分隔。 例如:
AutomationTestSuite.Tests.MyTestClass_1.MyTest
AutomationTestSuite.Tests.MyTestClass_2.MyOtherTest
運行測試后,結果將保存在NUnit.ConsoleRunner > tools
目錄中。 結果采用 XML 格式,可以通過編程方式解析以將您的測試結果推送到另一個工具。
有很多 arguments 可以傳入 ConsoleRunner,包括構建配置和框架版本,所有這些都在 NUnit 的文檔中指定。
NUnit 控制台運行程序還與 Cake 集成,后者是 C# 項目的構建腳本工具。 因此,您可以假設清理/構建您的項目,恢復丟失的 package 參考,並運行您的測試,所有這些都來自控制台。
可以在此處找到有關 NUnit 控制台運行程序的更多信息: https://github.com/nunit/docs/wiki/Console-Command-Line
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.