我一直看到这样的代码:
.WebButton("locator1", "locator2", "locator3")
WebButton,WebElement,WebEdit等中的参数类型是什么?我尝试将数组传递给.WebButton。所以,qtp告诉我它不是正确的类型。是否有另一种传递多个定位器的方法?
另外,.WebButton,.WebElement等的返回类型是什么?
答案 0 :(得分:2)
您正在讨论的“参数”是QTP / UFT唯一需要的一组属性,用于唯一地标识该特定对象(WebElement,WebEdit等),以便可以对它们执行操作。
此外,这不是某种能够为您返回任何价值的功能。
如果您不确定在这些括号中需要提及哪些属性,则更简单的方法是将该对象添加到Object Repository并将该对象从OR拖到脚本中。之后,您可以对这些对象执行任何操作。
如果您不想使用OR,那么您需要使用我们称之为描述性编程(DP)的描述性编程(DP),其中您必须在脚本中“明确地”提及对象属性名称及其值。
请记住,提及这些属性的唯一目的是帮助QTP识别应用程序中的对象,以便您可以对它们执行操作(如单击,设置等)。
以下是一些可以帮助您的链接: http://www.learnqtp.com/descriptive-programming-simplified/
http://www.guru99.com/quick-test-professional-qtp-tutorial-6.html
http://www.guru99.com/quick-test-professional-qtp-tutorial-32.html
编辑2 - 在评论中回答您的问题:
.WebButton("Locator1","Locator2","Locator3")
表示.webButton("property1:=value1","property2:=value2","property3:=value3")
现在,我只能提到属性值pair1(你称之为“Locator1”)仅仅如果它足以识别那个web按钮。如果只有一个属性 - 值对无法帮助UFT在UNIQUELY中识别web按钮,那么我必须提供另一个属性 - 值对,直到我提供了足够的属性 - 值,以便QTP唯一地识别该web按钮。 由于我提供了多个属性 - 值对(或定位器),因此必须用逗号分隔。如果只有一个属性 - 值对,则不需要逗号。所有这些解释仅适用于我们使用描述性编程时的情况。如果我们不使用Descriptive编程,那么在这种情况下,对象及其属性和值存储在Object Repository中,您只需要在脚本中提及它们的逻辑名称(比如Button存储在OR中),如:
.webButon("Button1")
要了解更多信息,您需要对“UFT / QTP中的对象识别如何工作”进行更多研究