如何使用C#将QTP结果自动导出为PDF

时间:2015-01-09 08:55:57

标签: c# .net qtp hp-uft

我正在编写一个C#程序来运行QTP。

现在我的程序可以自动触发QTP并将结果发送到我的邮箱。但是这个结果是HTML,我发现QTP可以导出PDF结果。

所以,这是我的代码。

qtpAutoReport = qtpApp.Options.Run.AutoExportReportConfig;
qtpAutoReport.AutoExportResults = true;
qtpAutoReport.StepDetailsReport = true;
qtpAutoReport.DataTableReport = false;
qtpAutoReport.LogTrackingReport = false;
qtpAutoReport.ScreenRecorderReport = false;
qtpAutoReport.SystemMonitorReport = false;
qtpAutoReport.StepDetailsReportFormat = "Short";
qtpAutoReport.ExportLocation = AutoExportPath;
qtpAutoReport.ExportForFailedRunsOnly = false;
qtpAutoReport.StepDetailsReportType = "PDF";

当我使用此代码时qtpAutoReport.StepDetailsReportType = "HTML"; 我的程序可以成功运行,我可以在磁盘上找到这个HTML文件。

但是,当我使用此代码时qtpAutoReport.StepDetailsReportType = "PDF"; QTP测试结束后,我的磁盘上没有任何文件。 所以我的问题是,当我将StepDetailsReportType设置为“PDF”时,QTP无法导出结果?

1 个答案:

答案 0 :(得分:0)

UFT似乎确实存在问题,我发现了一种适用于GUI测试(vbscript)的方法,尝试使用服务测试(c#)。

所有选项都与您的示例相同,只需添加一个:

uftObject.Options.Run.ViewResults = True

这告诉UFT您希望在完成后查看结果。没有这个标志我得不到PDF结果,文件在导出路径等待。 Option Explicit Dim uftObject, qtResultsOpt
Set uftObject=CreateObject("Quicktest.application") uftObject.Launch uftObject.Visible = True Set qtResultsOpt = uftObject.Options.Run.AutoExportReportConfig Dim AutoExportPath AutoExportPath = "C:\Users\paxic\Desktop\stackoverflow\results" qtResultsOpt.AutoExportResults = true qtResultsOpt.StepDetailsReport = true qtResultsOpt.DataTableReport = false qtResultsOpt.LogTrackingReport = false qtResultsOpt.ScreenRecorderReport = false qtResultsOpt.SystemMonitorReport = false qtResultsOpt.StepDetailsReportFormat = "Short" qtResultsOpt.ExportLocation = AutoExportPath qtResultsOpt.ExportForFailedRunsOnly = false qtResultsOpt.StepDetailsReportType = "PDF" uftObject.Open "C:\Users\JMorley\Desktop\stackoverflow\ExampleOne" qtResultsOpt.AutoExportResults = True uftObject.Options.Run.ViewResults = True uftObject.Test.Run