解决夜间需要不停重启机器的自动化测试脚本执行问题

l  首先要解决脚本使用命令行启动的问题。由于QTP本身不支持带命令的运行方式。所以要找其他方法。

         主要有两种方法可以供参考,

一种是些VBS脚本,利用QTP开放的dll组件调用脚本。

         一种是利用现有的QTP执行管理工具MTM(Multi Test Manager)来实现,MTM本身支持命令行启动QTP;并有较好的多用例管理功能。

         采用VBS脚本编写比较灵活,但是开发成本高,失败风险高,考虑到项目比较紧张,所以我采用第二种方式

         工具安装及配置过程略去,需要注意的是在MTM调用QTP脚本是,需要先启动QTPMTM版本和QTP版本匹配的bug。关注脚本中Start的方法

         脚本如下:

         @echo off

Start QTPro.exe

ping /n 20 127.1>nul

Start MultiTestManager.exe /T "C:/Program Files/HP/QuickTest Professional/Tests/QQStart" /CLOSE /CLOSE_MTM /LOG /SUMMARY

为了便于后面调度把脚本存于D:/runbat/TestCase1.bat

 

#MultiTestManager /NOUI /TB "D:/mytestmtm.mtm"

l  解决完脚本问题之后需要解决远程重启及操作系统问题

由于测试项目需要每做一个测试用例就需要重启机器,再进入测试。所以需要解决远程重启的问题,同时需要机器去除登录过程。

幸好shutdown提供了远程控制的命令如下:

start shutdown.exe -m 10.1.151.31 -r -t 0

去除计算机登录过程,需要修改注册表,详细过程如下链接

http://weiqijun.blog.51cto.com/338163/123922

 

l  在完成上述两个准备之后,就要解决远程调度的问题了。

按照之前我做过的项目都是采用在执行端做个agent监听工具,然后控制端发命令给agent让它来调度测试脚本的。但是这次我想改变一下思路。

为此我开始采用ssh方法来解决问题。通过Cygwin+openssh来实现远程发送执行脚本命令。

结果发现这种方法对于执行gui的应用程序无效,无法调度。实验宣告失败,耗时2.5个小时。为此只好采用老的方法,开发了一个发送端程序(Client,和一个监听和调度程序

(Server)。通过Server来调度D:/runbat/TestCase1.bat

l  其他

发送端脚本如下

                   start shutdown.exe -m 10.1.151.31 -r -t 0       

ping /n 300 127.1>nul                         #等待机器重启的时间

start client 10.1.151.31 TestCase1             #TestCase1表示要执行的测试用例

 

同时需要将Server程序放到执行机器的启动项里边。

         目前未解决的问题:

                   执行方没有将执行情况告知发送端。发送端不知道何时结束,所以只能根据经验来设置用例之间间隔时间。

 

补充关于远程重启机器

1、单击“开始”按钮,选择“运行”,在对话框中输入“gpedit.msc”,然后单击“确定”,打开“组策略编辑器”。  
   
  2、在“组策略”窗口的左窗格中打开“计算机配置”—“Windows   设置”—“安全设置”—“本地策略”—“用户权利指派”。  
  3、在“组策略”窗口的右窗格中选择“Force   shutdown   from   a   remote   system   (从远端系统强制关机)”,双击。  
  4、在弹出的对话框中显示目前只有“Administrators”组的成员才有权从远程关机;单击对话框下方的“添加用户或组”按钮,然后在新弹出的对话框中输入“guest”,再单击“确定”。  
   
    5、这时在“从远端系统强制关机”的属性中便添加了一个“guest”用户,单击“确定”即可。  
   
    6、关闭“组策略”窗中。  
   
    通过上述操作后,我们便给计算机netproxy的guest用户授予了远程关机的权限。以后,我们要远程关闭计算机netproxy,只要在网络中其他装有Windows   XP   的电脑中输入以下命令即可:  
   
    shutdown   -s   –m   //netproxy   -t   30   (其他参数用法同上)  

      7.关闭对象(机器)必须开启guest用户

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值