51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5700|回复: 22
打印 上一主题 下一主题

[求助] 描述性编程,执行脚本,执行速度慢

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-23 11:14:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我写了一段关于WEB的脚本,虽然能执行下来,但是每部的执行速度都很慢,这是为什么啊。请帮忙
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2007-7-23 11:20:30 | 只看该作者
    这是正常的,因为在对象库里没有存放相应的对象
    脚本中的所有对象的识别都是依靠某些属性进行匹配
    这个匹配的速度当然慢了!!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2007-7-23 11:40:26 | 只看该作者
    这个我知道,我想知道怎么解决~照这个速度,我的脚本可有的跑了~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-7-23 12:12:11 | 只看该作者
    多加几个属性看一下会不会快一点
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2007-7-23 13:28:54 | 只看该作者
    我加了,Browser,但是速度还是和有对象库的时候有差距,
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-7-23 13:31:26 | 只看该作者
    就是因为对象匹配的关系吧,我觉得应该也是了!虽然是可以运行脚本,但是对象仓库直接找到对象的运行速度要慢很多!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2007-7-23 16:34:03 | 只看该作者
    哥哥们,没有解决办法么?难道让我把所有对象都加上?那描述性编程还有什么意义!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-7-23 20:46:00 | 只看该作者
    原帖由 lengz 于 2007-7-23 11:14 发表
    我写了一段关于WEB的脚本,虽然能执行下来,但是每部的执行速度都很慢,这是为什么啊。请帮忙

    只是你的代码或设置问题。与descriptive programming没有关系。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-7-23 20:57:26 | 只看该作者
    原帖由 lengz 于 2007-7-23 16:34 发表
    哥哥们,没有解决办法么?难道让我把所有对象都加上?那描述性编程还有什么意义!
    速度慢会有这么一个原因,就是QTP未能找到完全匹配的对象,这时会去找相近的对象,因此速度会大大变慢,所以可能跟你所写的代码是有关系的,把你的代码帖出来,好帮你看看有没问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-7-30 09:47:01 | 只看该作者
    我也遇到这个问题了,大家帮忙看看,我用来描述的属性都是推荐使用的属性啊.

    'login
    Browser("creationTime:=0").Page("index:=0").WebEdit("name:=stradminid").Set "admin"
    Browser("creationTime:=0").Page("index:=0").WebEdit("name:=strpassword").SetSecure "46aab211827bcd0f1b2d146e7be500fc"
    Browser("creationTime:=0").Page("index:=0").WebButton("name:=登录").Click

    'add
    Browser("creationTime:=0").Page("index:=0").WebElement("innertext:=栏目管理").Click
    Browser("creationTime:=0").Page("index:=0").Frame("name:=leftFrame").WebElement("innertext:=新闻管理").Click
    Browser("creationTime:=0").Page("index:=0").Frame("name:=mainFrame").WebButton("name:=新增新闻").Click
    Browser("creationTime:=0").Page("index:=0").Frame("name:=mainFrame").WebEdit("name:=strnewstitle").Set "test"
    Browser("creationTime:=0").Page("index:=0").Frame("name:=mainFrame").WebButton("name:=确定").Click
    Browser("creationTime:=0").Page("index:=0").Frame("name:=mainFrame").WebButton("name:=返回").Click

    'modify
    Browser("creationTime:=0").Page("index:=0").Frame("name:=mainFrame").Link("text:=修改").Click
    Browser("creationTime:=0").Page("index:=0").Frame("name:=mainFrame").WebEdit("name:=strnewstitle").Set "test_modify"
    Browser("creationTime:=0").Page("index:=0").Frame("name:=mainFrame").WebButton("name:=确定").Click
    Browser("creationTime:=0").Page("index:=0").Frame("name:=mainFrame").WebButton("name:=返回").Click

    'delete
    Browser("creationTime:=0").Page("index:=0").Frame("name:=mainFrame").Link("text:=删除").Click
    Browser("creationTime:=1").Dialog("text:=Microsoft Internet Explorer").WinButton("name:=确定").Click
    Browser("creationTime:=0").Page("index:=0").Frame("name:=mainFrame").WebButton("name:=返回").Click
    Browser("creationTime:=0").Close
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-7-30 09:48:58 | 只看该作者
    运行实在太慢了,差不多5秒钟才运行一句
    我在options的Run里设置的快速运行,而且也没截图和录象.


    =================================

    发现问题所在了,是browser属性的问题,用creationTime来描述就很慢,但是除了这个唯一的属性,我不知道用什么来描述打开第一个窗口,打开第

    二个窗口了.用其他的什么title,class_name描述的话太麻烦了,还要去识别.

    [ 本帖最后由 wtucel 于 2007-7-30 09:55 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2007-7-30 09:54:47 | 只看该作者
    Browser("creationTime:=0").Page("index:=0").

    具体的描述一下,比如:Browser("title:=百度").Page("title:=百度")这样就快了,我之前和你写的一样,

    哦,补充一下,Browser("title:="&temp1).Page("title:="&temp2),这样就可以复用了~,

    反正我目前是这么处理的,不知道还有没有好办法?

    [ 本帖最后由 lengz 于 2007-7-30 09:57 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-7-30 09:58:11 | 只看该作者
    你在对象库中只加一个对象Browser并取名为aaa
    然后把creationtime:=0都换成aaa,执行起来应比普通录制回放速度还要快3倍以上。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2007-7-30 09:59:53 | 只看该作者
    恩,但是感觉用title的话不是很科学拉,还要去识别,可惜browser没有index这样的属性,只有一个creationTime的类似index,可惜又太慢了.但是我看人家推荐的都是用creationTime啊,应该有解决的办法吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-7-30 10:33:28 | 只看该作者
    这个问题很有代表性,梦想十分的方法应该是比较可行的吧?因为我看他的录像演示,执行速度是飞快的,对象库里也只有一个browse对象而已。
    找个时间试试。
    各位大侠也来讨论一下。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2007-7-30 14:23:13 | 只看该作者
    原帖由 梦醒十分 于 2007-7-30 09:58 发表
    你在对象库中只加一个对象Browser并取名为aaa
    然后把creationtime:=0都换成aaa,执行起来应比普通录制回放速度还要快3倍以上。



    我试过了,但是没成功,再试试看~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2007-7-30 14:33:26 | 只看该作者
    第一,描述性编程的速度确实相对慢一些,但是没你说的那么夸张,你看看自己的qtp设置有没有问题,再看看自己的Result有没有warning;
    第二,描述性编程建议使用Description对象来创建;
    第三,对于浏览器对象,建议你不要使用描述性编程,直接像梦醒时分那样在对象库里添加这个对象便可。

    原帖由 lengz 于 2007-7-23 11:14 发表
    我写了一段关于WEB的脚本,虽然能执行下来,但是每部的执行速度都很慢,这是为什么啊。请帮忙
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2007-7-31 15:04:07 | 只看该作者
    原帖由 wtucel 于 2007-7-30 09:47 发表
    我也遇到这个问题了,大家帮忙看看,我用来描述的属性都是推荐使用的属性啊.

    'login
    Browser("creationTime:=0").Page("index:=0").WebEdit("name:=stradminid").Set "admin"
    Browser("creationTime:=0").Pa ...



    当用creationTime这个属性去标识第一个打开的浏览器时是比较慢的,但是写成这样的模式就能解决速度问题:
    Browser("creationTime:=00:00:00").(...)....
    标识第二个以后打开的浏览器时还是用1,2,3,4........
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2007-7-31 18:25:47 | 只看该作者
    原帖由 songfun 于 2007-7-30 14:33 发表
    第一,描述性编程的速度确实相对慢一些,但是没你说的那么夸张,你看看自己的qtp设置有没有问题,再看看自己的Result有没有warning;
    第二,描述性编程建议使用Description对象来创建;
    第三,对于浏览器对象 ...




    Browser("title:=百度").Page("title:=百度")
    这样写呢,会对脚本复用有影响么?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2007-7-31 19:44:28 | 只看该作者
    原帖由 zhoubo1100 于 2007-7-31 15:04 发表



    当用creationTime这个属性去标识第一个打开的浏览器时是比较慢的,但是写成这样的模式就能解决速度问题:
    Browser("creationTime:=00:00:00").(...)....
    标识第二个以后打开的浏览器时还是用1,2,3,4........
    Browser("creationTime:=00:00:00").(...)....
    还可以这样用啊,又学了一招sdlkfj5
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-18 13:59 , Processed in 0.076982 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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