我有一个TestComplete测试,使用TTabSet
属性选择TabIndex
中的标签:
Tab.TabIndex = 1
这很有效。但是,我注意到该选项卡上的某些对象要求启用click事件。也就是说,我如何通过TabIndex
选择标签项目并涉及某种点击事件?
答案 0 :(得分:2)
您可以调用TabIndex
的{{3}}方法来获取标签的坐标,而不是将值分配给TTabSet
,然后将这些坐标传递给TestComplete { {1}}方法。这是一个例子:
Click
但是,这种方法要求:
Sub Main
Set tabSet = Sys.Process("Project1").VCLObject("Form1").VCLObject("TabSet1")
For i = 0 To tabSet.Tabs.Count
ClickTab tabSet, i
Delay 1000
Next
End Sub
Sub ClickTab(TTabSet, ItemIndex)
Dim rect, x, y
Set rect = TTabSet.ItemRect(ItemIndex)
x = (rect.Left + rect.Right) / 2
y = (rect.Top + rect.Bottom) / 2
TTabSet.Click x, y
End Sub
可用于TestComplete)。ItemRect
方法调用(否则此方法将被Delphi的智能链接器遗漏在EXE之外,因此TestComplete将无法使用此方法。)此外,如果您的标签控件的标签数多于显示的标签(即ItemRect
> Tabs.Count
),则需要先滚动它以使所需的标签首先显示。例如,您可以使用ItemRect
属性执行此操作:
VisibleTabs