【问题标题】:Download Data from HTML file and Then Launch QTP从 HTML 文件下载数据,然后启动 QTP
【发布时间】:2018-08-20 05:57:15
【问题描述】:

任务是从 HTML 文件中获取数据,当我们点击提交按钮时,将下载包含输入数据的文件,并打开 QTP 并将下载的文件用作测试数据。在下面的代码中 案例1:当我在 Chrome 中使用时,文件已下载,但 QTP 未打开 Case2:我在IE中使用时,QTP是openend但文件没有下载。

请建议更改代码,以便两者都能正常工作

<html>
<head>
<script language="javascript">
   function exportF() {
document.getElementById("input").innerHTML = 
document.getElementById("text").value;
document.getElementById("input1").innerHTML = 
document.getElementById("text1").value;
document.getElementById("input2").innerHTML = 
document.getElementById("text2").value;
var table = document.getElementById("table");
var html = table.outerHTML;

var url = 'data:application/vnd.C:\\Users\patilch\Desktop\test.xlsx,' + 
escape(html); // Set your html table into url 
var link = document.getElementById("downloadLink");
link.setAttribute("href", url);
link.setAttribute("download", "export.xls"); // Choose the file name
link.click(); // Download your excel file  


var qtApp = new ActiveXObject("QuickTest.Application");
qtApp.Launch(); // Start QuickTest
qtApp.Visible = true;
return false;
}
</script>
</head>


<body>


<div class="container">
<header>
<h1>Payment Processing</h1>
</header>
</div>



<content>
<form onsubmit="return exportF()">
 <table>
   <tr>
    <td>File Path</td>
    <td>Sap Generated Path</td>
    <td>Result</td>
   </tr>
   <tr>
    <td>  <input id="text" type="text" /></td>
    <td>  <input id="text1" type="text" /></td>
    <td>  <input id="text2" type="text" /></td>
    <td><input type="submit" value="RUN"/></td>
   </tr>
  </table>
 </form>

</content>
<table id="table" style="display: none">
 <tr>
 <td id="input">
 <td id="input1">
 <td id="input2">
 </td>
 </tr>
 </table>
 <a style="display: none" id="downloadLink"></a>
 </body>
 </div>
 </html>

【问题讨论】:

  • 您没有告诉 QuickTest.Application 使用文件启动,也没有告诉 Chrome 启动 QuickTest.Application,因为它不运行 activeX
  • 我应该在代码中做些什么改变
  • 或许qtApp.Open("C:\\Users\patilch\Desktop\test.xlsx")
  • 我想在 chrome 中启动 QTP...我不能像你说的那样使用因为 Chrome 不支持 ActiveX
  • 那么你就是 sol 除非你可以发送一个可以让 chrome 打开 qtp 的矿类型

标签: javascript html vbscript qtp hp-uft


【解决方案1】:

另一种可能的方法是从 HTML 执行 .vbs 文件。您可以查看更多信息here

在您的 vbs 文件中,您可以在 VBS 中使用以下代码轻松打开 QTP

Set qtpApp=CreateObject("QuickTest.Application") 
qtpApp.Launch 
qtpApp.Visible = True 

这是一个有点不正统的尝试方法,你必须检查如何与你当前的脚本集成

【讨论】: