将类数组传递给QTP/VBScript中的操作参数

将类数组传递给QTP/VBScript中的操作参数,vbscript,action,qtp,Vbscript,Action,Qtp,我的问题涉及QTP/VBScript的使用 目标:从qtp主起始文件初始化类数组,并通过参数将该数组作为参数传递给可重用操作 问题:我无法将类数组传递给我的可重用操作 详细信息: 我有两个文件:“应用程序\u主”和“个人\u操作” 应用程序_main是qtp/vbscript的入口点。 个人行动是一种可重复使用的行动 在application_main内部,我们调用了InvokeApplication,然后进行了一些其他声明 我能够初始化数组并继续将其作为参数从我的应用程序\u main传递到我

我的问题涉及QTP/VBScript的使用

目标:从qtp主起始文件初始化类数组,并通过参数将该数组作为参数传递给可重用操作

问题:我无法将类数组传递给我的可重用操作

详细信息:

我有两个文件:“应用程序\u主”“个人\u操作”

应用程序_main是qtp/vbscript的入口点。
个人行动是一种可重复使用的行动

在application_main内部,我们调用了InvokeApplication,然后进行了一些其他声明

我能够初始化数组并继续将其作为参数从我的应用程序\u main传递到我的个人\u操作:

来自应用程序\u main:

Dim myArray
myArray = new Array(object1, object2, object3)
RunAction “personal_action”, oneIteration, myInteger, myBoolean, myArray
在个人操作页面上,我通过以下方式编辑参数属性:
编辑->操作->操作属性。我选择参数选项卡。
在其中,我可以选择定义传入参数的数量和每个单独的类型。这些可用类型似乎仅限于:

字符串、布尔值、日期、数字、密码、任意

我将第一个参数设置为:Number
我将第二个参数设置为:Boolean
我将第三个参数设置为:Any

Dim myArray
myArray = new Array(object1, object2, object3)
RunAction “personal_action”, oneIteration, myInteger, myBoolean, myArray
运行时,系统会提示我:

在RunAction中为“myArray”参数指定的类型 语句与操作中定义的类型不匹配

问题:我能够传递数字和布尔值,但是当涉及数组时,qtp/vbscript似乎不能很好地处理它。为什么我不能通过主启动文件中的参数将数组传递给操作?这似乎是一项普通而简单的任务。我可能错了吗


感谢您的帮助。谢谢。

据我所知,QTP不会允许这样做。没有可用于表示数组的参数类型。这可能是QuickTest Professional的一个限制

可以将数组元素作为用分隔符分隔的字符串传递,而不是传递数组

例如: “Item1^Item2^…………”其中“^”是分隔符 然后您可以使用vb脚本的拆分功能,将数组取回


再次对object做同样的事情,我们必须对此进行尝试

不确定您到底想做什么,更多的代码可能会给出更好的想法。是否有理由需要整个数组而不仅仅是数组中的特定项?将数组拆分为项目可能是您的最佳选择,但我也不确定您要完成什么。

在操作中使用lib文件。。。 在库中创建公共数组 但最终对于任何案例测试或交互,vararray=null 罗德里戈恩。
建议。。。使用函数将你的库包含在你的操作中(库路径)

让问题的部分理解是个好主意,但放一些代码比这更好。我将格式修改为更简洁。请添加一两行解释/总结你的答案。ps。。。在任何交互作用下,都可以使用destrocty arrayyy