簡體   English   中英

從控制台應用程序 c# 運行 selenium 測試用例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM