如何在运行C# NUnit Selenium测试的批处理文件中生成结果日志
给Selenium自动化测试批处理添加测试结果日志生成指令
首先你原批处理里的set nunit-console nunit.tests.dll /out:TestResult.txt这一行是无效的——因为你实际用的是Visual Studio的vstest.console.exe而非NUnit自带的控制台运行器,直接删掉这行就行。
下面是两种给vstest.console.exe添加日志生成功能的方案:
方案一:生成Visual Studio兼容的TRX格式结果文件
这种格式能在Visual Studio中直接打开查看详细测试结果,包含用例执行状态、耗时、错误信息等:
set test_runner="C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" set test_dlls="C:\Users\user1\source\repos\TestProject1\TestProject1\bin\Debug\net6.0\TestProject1.dll" set tests="Test1_Login,Test2_Register,Test3_Logout" set result_dir="C:\Users\user1\TestResults" %test_runner% %test_dlls% /tests:%tests% /logger:trx /resultsDirectory:%result_dir%
/logger:trx:指定生成TRX格式的测试结果文件/resultsDirectory:%result_dir%:指定结果文件的存放目录,运行后会在该目录下生成带时间戳的.trx文件
方案二:同时生成文本格式日志(控制台输出留存)
如果你需要纯文本的日志文件,把控制台的输出(包括错误信息)直接写入文件,可在方案一基础上添加重定向命令:
set test_runner="C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" set test_dlls="C:\Users\user1\source\repos\TestProject1\TestProject1\bin\Debug\net6.0\TestProject1.dll" set tests="Test1_Login,Test2_Register,Test3_Logout" set result_dir="C:\Users\user1\TestResults" set text_log="C:\Users\user1\TestResults\TestOutput.txt" %test_runner% %test_dlls% /tests:%tests% /logger:trx /resultsDirectory:%result_dir% > %text_log% 2>&1
> %text_log% 2>&1:把控制台的标准输出和错误输出全部写入指定的文本文件,方便快速查看执行过程
如果只需要纯文本日志,不需要TRX文件,直接去掉/logger:trx和/resultsDirectory:%result_dir%参数即可。
内容的提问来源于stack exchange,提问作者Sreedhar Danturthi
相关产品推荐
相关产品推荐

