google搜索 站内搜索                 软件测试门户 | 软件测试培训 | 文章资料精选 | 软件测试论坛 | 测试解决方案 | 软件测试博客 | 测试招聘求职 
打印

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

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


我正在做一个版本接收的自动化测试,要求如下:
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 ]

TOP

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

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

TOP

非常感谢pcl2004_27的及时回复!


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

再次感谢!:)

TOP

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

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

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

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

TOP

重新梳理


首先,还是感谢:)

重新调整一下:
要实现的是:
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 ]

TOP

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

TOP

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


TOP

:)


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

TOP

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


TOP

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

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

TOP

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


TOP

学习中!继续努力

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

TOP

顶一下
性格决定命运,气度决定格局!
个人网站-http://www.lantianwei.com
欢迎大家访问!

TOP

x学习啊

TOP

学习一下.顶一下

TOP

 
当前时区 GMT+8, 现在时间是 2008-12-5 17:39Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹