51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7874|回复: 14
打印 上一主题 下一主题

版主帮忙-----能否用winrunner实现定时检查?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-8-20 09:36:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我正在做一个版本接收的自动化测试,要求如下:
1. 定时(每隔1小时)检查网络某服务器是否有新版本目录.
2. 如果有,检查是否已传送完毕.
3. 如果已经传送完毕,进入新版本目录.
4. 开始对新版本进行自动化测试:安装-功能验证-卸载
5. 测试完成后,将测试结果以mail 的方式,发给相关人员.

问题:
1. 如果实现定时检查?
2. 根据什么去判断是否是新版本目录?建立时间?版本号?
3. 根据什么去判断是否已传送完毕?目录大小?
4. 用winrunner是否能实现?如果不能,有其它办法吗?如果解决?

用winrunner怎么实现这个action呢?

[ Last edited by flower on 2004-8-20 at 11:26 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-8-20 10:27:53 | 只看该作者
WINRUNNER
1。提供几个方法参考
   延迟运行,计算时间间隔,然后让WINRUNNER脚本运行
   命令行定时启动WINRUNNER,配合系统计划任务实现
   外部程序调用WINRUNNER
2。用脚本根据文件目录信息,文件(或文件夹)创建时间,目录大小(可能存在变化),文件数(可能存在变化),来分析。版本号的实现方式其实可以用编程方式读取EXE文件的版本号码,不过太复杂,没有必要,你可以根据其他的标识来进行,比如版本目录中很可能有个README,你分析他就可以了(可以借助其他方式)
3。如果有人传送版本完毕后,在你版本目录中建立一个文本文件,内容自定义,你只要用WINRUNNER来判断这个文件是否存在就可以了,目录大小,可以用API函数实现
4。任何工具都有实现方式,只要你动脑

其实这个也可以自己开发一个小工具实现,其实功能很简单,就是检测目录。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-8-20 11:24:40 | 只看该作者

非常感谢pcl2004_27的及时回复!

1.我打算使用winrunner做一个循环检查,延迟时间,运行脚本.
 因为新版本周期是一天,有时会在半夜传送.所以可以考虑用计划任务启动winrunner,或每天下班时手动触发也无妨.
2.新版本出现是以目录的形式,可以在目录上查找是否存在此名称目录.这绝不是个好办法,因为每天必须要手动有脚本更新一次版本名称.暂时想不出更好的办法.
 * 但我使用obj_find_text为何无效?
3.用目录大小去判断是否传送完毕也是下策,大小也是变化的,只能判断其大于某一值,然后再等待十分钟,以确保传送完全.
 * 但..如何取目录大小?

再次感谢!:)
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2004-8-20 11:42:22 | 只看该作者
1。循环运行不是很好的办法,我没有写是因为循环很占用CPU时间,回导致机器陷入DOWN机状态,所以我第一个排除的就是这个方法
2。手动修改,不知道你说的是什么人?上传目录的人,还是你要用WR来进行修改?
   你的问题是一系列下来的,基于你的第一个“问题定时(每隔1小时)检查网络某服务器是否有新版本目录”,我才会检查目录,这是针对你的问题最直接的解决方式。
  而这次你说的“.新版本出现是以目录的形式,可以在目录上查找是否存在此名称目录.这绝不是个好办法,因为每天必须要手动有脚本更新一次版本名称.暂时想不出更好的办法.” ,这个和你第一次说的要求想”矛盾“,如果你是想做动态检测版本然后自动运行脚本进行自动化测试,那么这些放入的版本其实是一个版本控制的问题,应该约定的,你修改名称是为了什么,作的是否要表示版本,那么你和相应的接口人定义好目录名称就好了,对于WR来说,他毕竟是个工具,你把方式作到最简单,那么实现方式也是最优化的

”但我使用obj_find_text为何无效?“,你说的是什么无效?检测什么,目录?
3。我觉得这个问题你想的复杂了,我只是提共了一种解决方式,以下这些:文件(或文件夹)创建时间,目录大小(可能存在变化),文件数(可能存在变化),来分析,都可以作为解决方法。
脚本开发是特殊的开发方式,外在的条件是可以帮助你解决问题的

不应该孤立的看待问题!
“用目录大小去判断是否传送完毕也是下策,大小也是变化的,只能判断其大于某一值,然后再等待十分钟,以确保传送完全.”你说的这个问题,我已经想到了,所以才会建议你 “如果有人传送版本完毕后,在你版本目录中建立一个文本文件,内容自定义,你只要用WINRUNNER来判断这个文件是否存在就可以”

不知道你理解我说的么!欢迎探讨
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2004-8-20 12:26:55 | 只看该作者

重新梳理

首先,还是感谢:)

重新调整一下:
要实现的是:
1.每隔一小时查看网络中某服务器上是否有以新版本号命名的目录.
 *首先,解决如何识别"以新版本号命名的目录".
  版本号是每天更新的,如第一天是b101,第二天是b102,而且在服务器上会一直保留以往的版本.
  本来打算能否智能一些,不需要每天在脚本中手动修改要寻找的新版本目录的名称,但发现太复杂了.暂时用一变量" new_build "代替,每天手动修改.

 *其次,解决通过什么办法去寻找此名称目录.
  我把放置版本目录的路径地址映射到M:如,M: - //server/testbuild/
  脚本:打开M:
               obj_find_text("syslistview32",new_build,array,TRUE)
               判断array[0]是否为0以判断查找结果
  (不好意思,这段一直未执行顺利)

[ Last edited by flower on 2004-8-20 at 12:28 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2004-8-20 12:39:06 | 只看该作者
1.但如果要实现"每隔1小时检查"只能通过循环实现.这个需求的提出是因为有时晚上会传build,所以想第一时间知道build的情况.
 还有什么其它好的办法吗?
 while(can't find)
   {
     wait(3600);
     check
   }
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2004-8-20 15:19:20 | 只看该作者

版主gg(or jj)不见了:(

回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2004-8-20 17:29:53 | 只看该作者

:)

我决定用C另编一个小工具来实现每隔一段时间去检查新版本,多谢版主pcl2004_27!:)
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2004-8-20 17:31:11 | 只看该作者

winrunner是否可以指定输出message的字体颜色?

回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2004-8-27 11:01:44 | 只看该作者
messagebox是系统级别的对话框
如果想修改,那么要修改系统设置才能成功

其实也可以自己调用外部对话框(自己做一个),通过dll调用等形式
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2004-11-20 10:44:52 | 只看该作者

两位版主,到这里帮一下吧!我觉得和你们这张帖有点相似

回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2005-4-19 15:20:58 | 只看该作者
学习中!继续努力

[ Last edited by chenxi8320 on 2005-10-11 at 11:20 ]
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-7-17 10:54:17 | 只看该作者
顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-7-20 15:27:18 | 只看该作者
x学习啊
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-10-8 16:44:36 | 只看该作者
学习一下.顶一下
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-10 22:47 , Processed in 0.091404 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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