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