好吧,你的语法不正确。 ..
看样子,你想东西放在一个名为“页面”的变量,但我不知道如果我能找出你的意图。
如果您试图将页面对象放入var页面,您需要使用set语句(向vbscript表明它将持有一个对象,而不仅仅是一段数据)。 ..
无论如何,您指定页面的语法是错误的。
在你的榜样,你指定一个所谓的浏览器测试对象“欢迎:水星之旅”从资源库......但那么你就把。第 - 而这也正是你的语法错误是。
它有助于了解测试对象和实时对象之间的差异 - 因为你需要指定页面的测试对象。你可以通过从Object Repository中指定一个页面对象来实现这一点,或者你可以用描述性的方式来做到这一点。
测试对象是QTP试图找到的真实对象的描述。如果它成功地找到了与描述相匹配的真实对象,那么测试对象(虚拟)就会“附着到”真实对象...然后,您可以使用测试对象来查询真实对象的真实属性附属于。
因为你明明在做教程,你的对象库可能在浏览器对象下的heiarchy中有一个页面测试对象......(如果你让Intellisense帮忙,它会显示一个页面列表当你输入...时选择)。如果是的话,你会指定页面对象是这样的:
Browser("Welcome: Mercury Tours").Page("PageObjectNameHere")
如果您更喜欢使用描述性的节目,你可以改为输入像:
Browser("Welcome: Mercury Tours").Page("Title:=Welcome: Mercury Tours")
你的语法更改到这类结构的将让你解决你的问题的下一个部分进行 - 如何从页面获取一些数据...
所以,一旦你有正确的解决网页测试对象,那么你可以指定一个方法,从获取信息它...比如.GetROProperty()
您可以从多个属性中选择一个页面...如果您检查使用GUISPY的页面时,它几乎让你可以查询...例如,如果你想查询时显示的页面的URL属性的列表,你可以指定
Browser("Welcome: Mercury Tours").Page("Title:=Welcome: Mercury Tours").GetROProperty("url")
这当然会返回一个值,所以你想用它做什么...喜欢它赋值给一个变量
result = Browser("Welcome: Mercury Tours").Page("Title:=Welcome: Mercury Tours").GetROProperty("url")
(如果你这样做,你就可以添加变量“结果”的手表列表...它回答你的问题。)
或直接在你的代码中检查它
if Browser("Welcome: Mercury Tours").Page("Title:=Welcome: Mercury Tours").GetROProperty("url") = url_to_compare then DoSomething()
我希望这可以帮助清理你的理解:)
很好解释!谢谢。我完全错过了Dim和Set之间的区别,谢谢! – Kai
是的,Dim和Set具有完全不同的用途...... Dim(维度)将声明变量的名称,并为其留出记忆。如果你使用“Option Explicit”,那么你必须为每个变量使用Dim语句。这对于非常大的脚本很有用,因为如果您尝试使用未声明的变量名称(即,捕获拼写错误),则会引发错误。如果没有选项显式,变量名中的拼写错误很难找到。 Set语句用于必须将对象分配给变量的情况。 (即“a = 5”与“set a = browser(”ie“)”) –