请帮助我使用EmbedScriptFromFile
& RunScriptFromFile
用于在QTP/UFT中执行JS文件。
我正在尝试使用 JS 文件获取 N 个值,并在数组中的 QTP/UFT 中接收相同的值。为此,我必须了解EmbedScriptFromFile
& RunScriptFromFile
在 QTP/UFT 帮助部分。但是当我尝试使用示例代码时,我无法按预期进行。请帮助我解决这个问题
我正在使用的 JavaScript 代码:
function cloneArray(arr) {
var ret = [];
for (var i = 0; i < arr.length; ++i)
ret.push(arr[i]);
return ret;
}
VB脚本,我正在使用:
Browser("Home").Page("Home").EmbedScriptFromFile "C:\Users\Gopi\Desktop\CloneArray.js" 'Call the function and run the script that returns the array'
Set cloned = Browser("Home").Page("Home").RunScriptFromFile("cloneArray(C:\Users\Gopi\Desktop)")
执行这两行时出现一些错误 - 对于第一行,我收到错误“对象不支持此属性或方法”。对于第二行,我收到错误“参数不正确”。请帮忙
15-Dec-2014:
我已经尝试过下面的建议并且有效!但最重要的是,我也尝试从 JavaScript 函数获取数组值。
创建数组的代码:
function makeArray() {
var myArray = new Array(4);
for (var i = 0; i < myArray.length; i++){
myArray[i] = i+1;
}
return myArray;
}
所以我想要实现的目标是执行makeArray()
函数创建数组并使用以下命令创建 QTP/UFT 支持数组cloneArray
方法通过传递makeArray()
返回值/数组作为参数ConeArray(arr)
。但是当我尝试使用以下代码实现此目的时,我无法做到。
Browser("Home").EmbedScriptFromFile "C:\Users\Gopi\Desktop\cloneArray.js"
'Set arr1 = Browser("Home").Page("Home").RunScriptFromFile "C:\Users\Gopi\Desktop\makeArray.js"
Set arr = Browser("Home").Page("Home").RunScript("cloneArray[C:\Users\Gopi\Desktop\makeArray.js]")
For i = 0 To arr.length - 1
msgbox i & ": " & arr.item(i)
Next
EmbedScript
& RunScript
当我单独尝试时工作正常,但在尝试传递另一个函数作为参数时无法使用。
我尝试将这两个函数放在同一个 JS 文件中并调用这些函数,并尝试了其他一些可能性。但没有任何帮助,所以请帮忙。