Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript QTP/UFT-创建WebLink变量的函数_Vbscript_Qtp_Hp Uft - Fatal编程技术网

Vbscript QTP/UFT-创建WebLink变量的函数

Vbscript QTP/UFT-创建WebLink变量的函数,vbscript,qtp,hp-uft,Vbscript,Qtp,Hp Uft,我正在考虑做一些我不确定是否可行的事情——甚至可能不是最好的做法,但我还是想尝试一下 我有一个函数库,我有执行主脚本的操作,显然是从库中调用函数 最初在我的操作中,代码如下所示: 代码 但是,我已将其更改为: 代码 我这样做是因为我觉得它有一个更干净的外观,每行代码都“更少” 我知道我可以编写一个函数来实现这一点: Public Function myLink(WebLink) Set WebLink = Browser("Browser").Page("Page") End Functio

我正在考虑做一些我不确定是否可行的事情——甚至可能不是最好的做法,但我还是想尝试一下

我有一个函数库,我有执行主脚本的操作,显然是从库中调用函数

最初在我的操作中,代码如下所示:

代码

但是,我已将其更改为:

代码

我这样做是因为我觉得它有一个更干净的外观,每行代码都“更少”

我知道我可以编写一个函数来实现这一点:

Public Function myLink(WebLink)

Set WebLink = Browser("Browser").Page("Page")

End Function
然后在我的行动中,我只在顶部打一次电话:

代码

但是,我认为在某些情况下,我会有不同的页面名称,例如:

代码

因此,创建一个函数来存储我的变量,然后我就可以调用这些变量,这也许是一种替代方法

我的函数可以如下所示:

代码

然后在我的行动中,我这样使用它:

代码


我知道我所做的可能不合逻辑,但如果类似的事情可能奏效,我想尝试一下。

好吧,如果您在vbs文件的开头没有启用显式选项(这将迫使您在使用前声明每个变量),那么您可以简单地说:

For Each strPage in Pages()
     ExecuteGlobal "Set " & strPage & " = Browser(""Browser"").Page(""" & strPage & """)"
Next
这一个将为您创建全局变量,其名称为Pages数组中的字符串。您不需要任何输入参数


附言:一个更好的名字应该是InitPageObjects——因为你想要实现的目标与链接无关

恐怕你所有的东西都不管用。虽然您可以设置指向
Browser().Page()
对象的链接,但问题中包含的方法无法满足您的要求。最简单的方法是对所需的每个页面使用一个
Set xx=Browser().Page()
Public Function myLink(WebLink)

Set WebLink = Browser("Browser").Page("Page")

End Function
Call myLink(WebLink)
WebLink.WebElement("Name").HighLight 
Browser("Browser").Page("Page1")
Browser("Browser").Page("Page2")
Browser("Browser").Page("Page3")
Public Function myLinks(WebLink)

    Dim Pages(): Pages = ("Login","CreateUser","SelectOption","DeleteUser",)

    Browser("Browser").Page(Pages())

    For Each Elem In Pages

        Set WebLink = Browser("Browser").Page(Pages())

    End For

End Function
Call myLinks(WebLink)

Login.WebElement("Element").Click
CreateUser.WebElement("Element").Click
SelectOption.WebElement("Element").Click
DeleteUser.WebElement("Element").Click
For Each strPage in Pages()
     ExecuteGlobal "Set " & strPage & " = Browser(""Browser"").Page(""" & strPage & """)"
Next