我正在编写一个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