C# 使用c在两个不同的excel表格中写入结果数据#

C# 使用c在两个不同的excel表格中写入结果数据#,c#,export-to-excel,ui-automation,coded-ui-tests,C#,Export To Excel,Ui Automation,Coded Ui Tests,我正在使用c#编写自动化结果。我有一个要求,在运行自动化端到端流程时,我必须在同一excel的不同表格中写入结果。 当我的testmethod将结果作为pass时,我必须以下面的格式在sheet1中编写该testmethods的结果 Testclassname | testmethodname | pass(yes/No) | time 当testmethod失败时,编写 Testclassname | testmethodname | Fail(yes/No) | time | excep

我正在使用c#编写自动化结果。我有一个要求,在运行自动化端到端流程时,我必须在同一excel的不同表格中写入结果。 当我的testmethod将结果作为pass时,我必须以下面的格式在sheet1中编写该testmethods的结果

Testclassname | testmethodname | pass(yes/No) | time 
当testmethod失败时,编写

Testclassname | testmethodname | Fail(yes/No) | time | exception

如何在c#?

中实现这一点您可以使用TestContext检查当前的测试方法名称以及测试结果:

测试名称

测试结果

现在,您应该能够在中创建if-else来检查测试是否失败,并获取测试方法名称。根据测试结果,将其写入一个或另一个Excel文件

对于用C#编写Excel文件,我会在谷歌上搜索并尝试以下示例:

更新


请记住,将来当您的测试套件变得更大时,您可能希望并行运行测试。因此,TestCleanup中的任何内容都必须是并行验证的。写入同一Excel文件将导致问题。最好按照Jesse的建议在运行后处理测试结果。

让您的测试方法自己写入Excel文件是个坏主意。我个人认为,编写excel文件没有多大价值,但您可能有自己的理由

根据您运行测试的方式,可能有更好的方法来实现您的目标:

  • 使用命令行vstest.console.exe运行测试时,可以指定记录器。
    /Logger:trx
    将创建一个包含所有测试结果的XML文件。XML文件很容易解析。要么将XSLT转换为HTML表,要么使用类似或使用的包

  • 您可以将测试结果链接到生成(当通过Team Build或MTM执行测试时,以及使用
    /Logger:TfsPublisher
    (请参阅:)从命令行执行测试时)。然后,您可以使用数据仓库来创建


  • 如果您需要更多详细信息,请尝试,将您的发现作为一个新问题发布,并提出具体问题。

    您尝试过什么?请展示一些代码,并指出您具体遇到的问题。您看过Excel Interop吗?我没有使用Interop…我没有编写代码…实际上,我想要的代码将请稍等,因为现在可能有人正在编写代码。情节扭曲:没有人会为您编写代码。至少做一些研究,编写一些代码,尝试一些东西,并向我们展示您迄今为止所做的工作。有人可能会帮助您。