我正在编写一个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无法导出结果?

最佳答案

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

所有选项与您的示例相同,但有一个附加选项:

uftObject.Options.Run.ViewResults = True

这告诉UFT您要在完成后查看结果。没有此标志,我将无法获得PDF结果,文件将在导出路径中等待。
Option ExplicitDim uftObject, qtResultsOpt
Set uftObject=CreateObject("Quicktest.application")uftObject.LaunchuftObject.Visible = TrueSet qtResultsOpt = uftObject.Options.Run.AutoExportReportConfigDim AutoExportPathAutoExportPath = "C:\Users\paxic\Desktop\stackoverflow\results"qtResultsOpt.AutoExportResults = trueqtResultsOpt.StepDetailsReport = trueqtResultsOpt.DataTableReport = falseqtResultsOpt.LogTrackingReport = falseqtResultsOpt.ScreenRecorderReport = falseqtResultsOpt.SystemMonitorReport = falseqtResultsOpt.StepDetailsReportFormat = "Short"qtResultsOpt.ExportLocation = AutoExportPathqtResultsOpt.ExportForFailedRunsOnly = falseqtResultsOpt.StepDetailsReportType = "PDF"uftObject.Open "C:\Users\JMorley\Desktop\stackoverflow\ExampleOne"qtResultsOpt.AutoExportResults = TrueuftObject.Options.Run.ViewResults = TrueuftObject.Test.Run

10-04 18:51