繁体   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