代码之家  ›  专栏  ›  技术社区  ›  Eitel Dagnin

qtp/uft-创建Weblink变量的函数

  •  1
  • Eitel Dagnin  · 技术社区  · 6 年前

    我正在考虑做一些我不确定是否可行的事情——也许不是最佳实践,即使如此,但我还是想尝试一下。

    我有一个函数库,我有一个操作,我在其中编写主脚本,显然是从库中调用函数。

    最初在我的操作中,代码看起来是这样的:

    代码

    Browser("Browser").Page("Page").WebElement("Element").Click
    

    不过,我把它改成了:

    代码

    Set WebLink = Browser("Browser").Page("Page")
    
    WebLink.WebElement("Element").Click
    

    我这样做是因为我觉得它的外观更干净,每行代码更少。

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

    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
    

    我知道我所拥有的可能不合逻辑,但如果这样的东西可能奏效,我想尝试一下。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Bela Tamas Jozsa    6 年前

    For Each strPage in Pages()
         ExecuteGlobal "Set " & strPage & " = Browser(""Browser"").Page(""" & strPage & """)"
    Next