|
动态生成?
分析一下动态生成的过程:
在开发过程中动态生成对象(控件),源代码中一般会指定对象名称,对象类型
这些指定的对象名称是外部自动化测试脚本中可以用到的变量
我们先看看vb如何动态生成控件的
VB6的Controls集合所提供的Add方法。使用Add方法可以创建程序在编译时根本不存在的控件。代码如下
' 声明一个窗体级的变量
Dim WithEvents txtTotal As TextBox
Sub CreateTextbox()
' 创建新的Textbox控件
Set txtTotal = Controls.Add("VB.TextBox", "txtTotal")
' 将控件移动到你所需要的地方
txtTotal.Move 1000, 800, 1200, 300
' 创建时,所有的控件都是不可见的
txtTotal.Visible = True
End Sub
Controls.Add("VB.TextBox", "txtTotal")中txttotal是动态生成的控件名称,如果这个界面创建成功后,外部robot在测试这个动态生成的editbox,如果是输入操作,代码就是调用sqasetproperty,传入这个代码中你知道的txttotal名称,和属性,以及要设置的属性值,就可以达到目的了
动态生成不可怕,因为它每次生成的对象名称是一样的。
也可能会遇到的情况是,代码中生成的对象名称是动态的,就是说名字每次不一样,那么只要和开发人员交流他们的规律,命名原则,就可以了。
所以你说的录制脚本的用处不大,我觉得是在你没有了解程序的情况下。这个问题需要你弄清原理,然后和开发人员交流完全可以解决。 |
|