51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2302|回复: 6
打印 上一主题 下一主题

[求助] 使用描述性编程时出现问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-5-25 22:18:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Browser("蓝鱼MIS").Page("蓝鱼MIS_2").WebEdit("userid").Set "test5"
Browser("蓝鱼MIS").Page("蓝鱼MIS_2").WebEdit("userpassword").SetSecure "4833be0e617997f4"
Browser("蓝鱼MIS").Page("蓝鱼MIS_2").WebEdit("userpassword").Submit
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("card").Image("P1").FireEvent "onmousedown"
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("card").Image("P1").Click
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("card").Image("P2").FireEvent "onmouseover"
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("card").Image("P2").FireEvent "onmousedown"
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("card").Image("P2").Click
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("card").Link("缺陷登记").FireEvent "onmousedown"
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("card").Link("缺陷登记").Click
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("aqqreq_3").WebElement("缺陷描述").FireEvent "onmouseover"
Browser("蓝鱼MIS").Page("蓝鱼MIS").Image("新建").Click
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("aqqreq").WebList("profress").Select DataTable("专业", dtLocalSheet)
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("aqqreq").Image("选择设备").FireEvent "onmouseover"
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("aqqreq").Image("选择设备").Click
Browser("蓝鱼MIS").Window("设备分类 -- 网页对话框").Page("设备分类").Frame("right").Image("trico").FireEvent "ondblclick"
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("aqqreq").WebEdit("reqtxt").Set DataTable("工作内容", dtLocalSheet)
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("aqqreq").Image("发现人").FireEvent "onmouseover"
Browser("蓝鱼MIS").Page("蓝鱼MIS").Frame("aqqreq").Image("发现人").Click
Set bm=Description.Create()
bm("Class Name").value="Link"
bm("class").value="MzTreeview"
bm("target").value="right"
bm("html id").value="tree_link_1"
Set bmrs=Browser("蓝鱼MIS").Window("选择用户 -- 网页对话框").Page("选择用户").Frame("left").ChildObjects(bm)
bmcount=bmrs.count
这是我做的脚本的一部分,功能是选择部门列表中的第一个部门,执行到倒数第二句出现错误,提示是
General run error.
Line (25): "Set bmrs=Browser("蓝鱼MIS").Window("选择用户 -- 网页对话框").Page("选择用户").Frame("left").ChildObjects(bm)".
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-5-26 08:45:39 | 只看该作者
Set bmrs=Browser("蓝鱼MIS").Window("选择用户 -- 网页对话框").Page("选择用户").Frame("left").ChildObjects(bm)

有这样的语句?
我真没见过呢
BROWSER()下有WINDOW?然后还有PAGE?
没见过这类型的,呵呵~~~既然是WINDOW了还有PAGE?检查下这句话90%是错的
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-5-26 09:07:06 | 只看该作者
可是我如果忽略这个错误,下边这句话可以成功执行
Browser("蓝鱼MIS").Window("选择用户 -- 网页对话框").Page("选择用户").Frame("left").Link("财务管理部").Click
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-6-24 11:50:30 | 只看该作者
找到原因了,原来是我描述的时候没有使用运行时对象的属性进行描述
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-6-24 15:22:33 | 只看该作者
我认为是你描述性编程中,画蛇添足了.
Set bm=Description.Create()
bm("Class Name").value="Link"
bm("class").value="MzTreeview"
bm("target").value="right"
bm("html id").value="tree_link_1"


你看你描述了这么多.属性,这些属性合起来,可能1个都不存在.
一般要用child我们只取少量属性,比如link一般去text属性.如果需要,可以使用正则表达式.
bm("text").value="部门(.)*"
以确保绝对有多个我们预期的对象被取到
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-6-24 17:16:30 | 只看该作者
楼上显示是个高手啊!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-6-24 19:15:58 | 只看该作者

回复 6# 的帖子


难的有人叫高手呀,满足下虚荣心....

不过这些技巧不复杂,有一定实际使用经验的都知道
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-27 01:15 , Processed in 0.072001 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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