gaojiqun 发表于 2004-10-25 18:50:17

被测试界面动态生成,我怎么办?

我测试的软件的一个录入界面,其中的editbox是动态生成的,所以录制的代码用处不大,请教哪位大虾,我该怎样利用robot解决这个问题??????

pcl2004_27 发表于 2004-10-26 16:38:16

动态生成?
分析一下动态生成的过程:
   在开发过程中动态生成对象(控件),源代码中一般会指定对象名称,对象类型
这些指定的对象名称是外部自动化测试脚本中可以用到的变量

我们先看看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名称,和属性,以及要设置的属性值,就可以达到目的了

动态生成不可怕,因为它每次生成的对象名称是一样的。

也可能会遇到的情况是,代码中生成的对象名称是动态的,就是说名字每次不一样,那么只要和开发人员交流他们的规律,命名原则,就可以了。
所以你说的录制脚本的用处不大,我觉得是在你没有了解程序的情况下。这个问题需要你弄清原理,然后和开发人员交流完全可以解决。

gaojiqun 发表于 2004-10-26 16:44:38

谢谢斑竹!!!

我现在的情况就属于你说的后一种情况,每一次的对象名称,代码是不同的,我想要和开发人员好好谈谈了!!!
页: [1]
查看完整版本: 被测试界面动态生成,我怎么办?