51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3208|回复: 2
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-10-25 18:50:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我测试的软件的一个录入界面,其中的editbox是动态生成的,所以录制的代码用处不大,请教哪位大虾,我该怎样利用robot解决这个问题??????
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 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名称,和属性,以及要设置的属性值,就可以达到目的了

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

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

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-10-26 16:44:38 | 只看该作者

谢谢斑竹!!!

我现在的情况就属于你说的后一种情况,每一次的对象名称,代码是不同的,我想要和开发人员好好谈谈了!!!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-12 15:17 , Processed in 0.074154 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表