TestComplete测试.NET的ToolStrip控件的问题
在测试脚本回放过程中发现,单击.NET的ToolStrip控件的按钮有时候会失灵。大部分情况下,使用下面的脚本是可以成功单击ToolStrip按钮的:
w_ToolStrip.ClickItem(‘新增课件’);
但是有时候会“失灵”,即执行了单击操作但是没有触发单击操作所关联的事件,例如本来单击某个ToolStrip按钮会弹出窗口而没有弹出,但是查看Log可以看到执行了鼠标单击操作的信息。
这个问题的解决办法如下:
Function ToolStrip_ClickItem(ToolStrip,Name);
Var I :OleVariant;
begin
For I := 0 to ToolStrip.Items.Count-1 do
begin
// 找到指定名称的按钮
IF varToStr(ToolStrip.Items.Item[I].Text) = Name then
begin
// 执行单击操作
ToolStrip.Items.Item[I].PerformClick();
Break;
end;
end;
end;
使用PerformClick方法可以解决一部分问题,不能解决全部问题,当单击ToolStrip中的按钮会弹出另外一个窗口的情况下,PerformClick虽然能执行成功,但是弹出的窗口将挡住其释放鼠标按钮,并且会暂停脚本的执行。这种情况下,可以采用下面的方法:
Function ToolStrip_ClickItem_2(ToolStrip,Name);
Var I :OleVariant;
begin
For I := 0 to ToolStrip.Items.Count-1 do
begin
// 找到指定名称的按钮
IF varToStr(ToolStrip.Items.Item[I].Text) = Name then
begin
// 执行单击操作
ToolStrip.Items.Item[I].Select();
ToolStrip.Keys(' ');
Break;
end;
end;
end;