51Testing软件测试论坛

标题: 使用描述性编程时出现问题 [打印本页]

作者: jlxiaofeiyu    时间: 2008-5-25 22:18
标题: 使用描述性编程时出现问题
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)".
作者: 鹭岛    时间: 2008-5-26 08:45
Set bmrs=Browser("蓝鱼MIS").Window("选择用户 -- 网页对话框").Page("选择用户").Frame("left").ChildObjects(bm)

有这样的语句?
我真没见过呢
BROWSER()下有WINDOW?然后还有PAGE?
没见过这类型的,呵呵~~~既然是WINDOW了还有PAGE?检查下这句话90%是错的
作者: jlxiaofeiyu    时间: 2008-5-26 09:07
可是我如果忽略这个错误,下边这句话可以成功执行
Browser("蓝鱼MIS").Window("选择用户 -- 网页对话框").Page("选择用户").Frame("left").Link("财务管理部").Click
作者: jlxiaofeiyu    时间: 2009-6-24 11:50
找到原因了,原来是我描述的时候没有使用运行时对象的属性进行描述
作者: onlonely    时间: 2009-6-24 15:22
我认为是你描述性编程中,画蛇添足了.
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="部门(.)*"
以确保绝对有多个我们预期的对象被取到

作者: ziheng198688    时间: 2009-6-24 17:16
楼上显示是个高手啊!
作者: onlonely    时间: 2009-6-24 19:15
标题: 回复 6# 的帖子

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

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




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2