查看完整版本: 版主帮忙-----能否用winrunner实现定时检查?

flower 2004-8-20 09:36

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

我正在做一个版本接收的自动化测试,要求如下:
1. 定时(每隔1小时)检查网络某服务器是否有新版本目录.
2. 如果有,检查是否已传送完毕.
3. 如果已经传送完毕,进入新版本目录.
4. 开始对新版本进行自动化测试:安装-功能验证-卸载
5. 测试完成后,将测试结果以mail 的方式,发给相关人员.

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

用winrunner怎么实现这个action呢?

[[i] Last edited by flower on 2004-8-20 at 11:26 [/i]]

pcl2004_27 2004-8-20 10:27

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

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

flower 2004-8-20 11:24

非常感谢pcl2004_27的及时回复!

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

再次感谢!:)

pcl2004_27 2004-8-20 11:42

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

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

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

不知道你理解我说的么!欢迎探讨

flower 2004-8-20 12:26

重新梳理

首先,还是感谢:)

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

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

[[i] Last edited by flower on 2004-8-20 at 12:28 [/i]]

flower 2004-8-20 12:39

1.但如果要实现"每隔1小时检查"只能通过循环实现.这个需求的提出是因为有时晚上会传build,所以想第一时间知道build的情况.
 还有什么其它好的办法吗?
 while(can't find)
   {
     wait(3600);
     check
   }

flower 2004-8-20 15:19

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

flower 2004-8-20 17:29

:)

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

flower 2004-8-20 17:31

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

pcl2004_27 2004-8-27 11:01

messagebox是系统级别的对话框
如果想修改,那么要修改系统设置才能成功

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

girl04 2004-11-20 10:44

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

[url]http://bbs.51testing.com/viewthread.php?tid=5024&fpage=1[/url]

chenxi8320 2005-4-19 15:20

学习中!继续努力

[[i] Last edited by chenxi8320 on 2005-10-11 at 11:20 [/i]]

lantianwei 2007-7-17 10:54

顶一下

syang0517 2007-7-20 15:27

x学习啊

zhanhuaijiang 2007-10-8 16:44

学习一下.顶一下
页: [1]
查看完整版本: 版主帮忙-----能否用winrunner实现定时检查?