自动化测试集成到Hudson中的方法
来源:互联网 发布:联想电脑数据恢复 编辑:程序博客网 时间:2024/06/10 14:59
最近做自动化测试,组长交给我个任务,把自动化测试集成到Hudson中,每天定时运行,并将测试报告发送到指定邮箱。Hudson是安装在Linux环境上;测试脚本是用QTP+VBScript写的,并用MTM管理多个脚本。问题在于QTP只能在Windows环境下运行,需要从hudson远程控制测试主机,启动测试。
现在基本的解决方案是:在windows测试主机上安装cygwin,通过ssh实现hudson和测试主机的互联,在Hudson启动测试,远程登录windows测试主机,启动MTM和QTP,测试结束后,将测试结果传回hudson所在的linux主机,通过linux邮件程序将结果发送到指定邮箱。
首先需要安装cygwin,并启动ssh服务,我在网上找了一篇文章,说的非常详细清楚,这里就不再重复了。
http://www.ibm.com/developerworks/cn/aix/library/1006_lisali_sshlogon/index.html
两台主机之间的通信建立以后,就需要写启动脚本,首先在测试主机方面,需要用脚本来实现QTP和MTM的自动启动,并配置相应的加载项以及邮件、报告的设置。QTP和MTM都提供了自动化的相关接口,可参考帮助文档。这里将自己的vbs代码备份一下(test.vbs):
Option Explicit
'==================================================
'启动并配置QTP
'==================================================
Dim qtApp
Set qtApp=CreateObject("QuickTest.Application")
'====================================================
'启动并配置MTM
'====================================================
Dim mtmApp
Set mtmApp=CreateObject("MultiTestManager.Application")
Dim mtmRunSettings
Set mtmRunSettings = mtmApp.Preferences.RunSettings
'=======================================================
'发送邮件设置
'=======================================================
Dim mtmAccountSettings
Set mtmAccountSettings = mtmApp.Preferences.MailSettings.AccountSettings
'=======================================================
'报告设置(这里为了传输文件方便,每个覆盖原来的同名报告。由于在报告名中加了日期,所以每天有一份报告,若一天运行多次,只保留最后一次)
'=========================================================
Dim myDateStr
Dim mtmReportSettings
Set mtmReportSettings = mtmApp.Preferences.ReportSettings
mtmApp.Run
While(mtmApp.IsRunning)
Set mtmRunSettings = Nothing
Set mtmAccountSettings = Nothing
set mtmReportSettings = Nothing
在hudson服务器端,需要做的是远程登录测试主机,并启动test.vbs。脚本如下:
#!/bin/sh
#/home/aiuap
autoTest(){
ssh -tt $1 <<EOF
cd autoTest
cmd
call test.bat
exit
exit
EOF
}
autoTest admin@*.*.*.* &
wait
mydate=$(date +%Y%m%d)
myfile="admin@*.*.*.*:/cygdrive/d/TestingReport_"$mydate"_1.html"
scp
关于文件存放路径,这里有个问题需要注意,Linux系统文件名和路径名不能有空格,所有最好测试报告文件名和存放路径不要有空格。
权限问题
登录hudson,执行build,发现可以连接测试主机,并启动test.vbs脚本,但运行出错,提示没有权限创建QTP和MTM的对象并启动它们,原来远程用户还需要分配应用程序权限:
这种方法在Windows XP上是可以的,悲剧的是,分给我的测试主机是Windows 2003 Server版的,无法设置DCOM配置,对于Server系统,QTP要求网络版的license
- 自动化测试集成到Hudson中的方法
- 利用Hudson持续集成来执行Android自动化测试
- Robotium_Robotium自动化脚本与Hudson集成
- Robotium自动化脚本与Hudson集成
- Robotium自动化脚本与Hudson集成
- 自动化在集成测试中的应用
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的UI自动化测试环境
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的自动化测试环境
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的UI自动化测试环境
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的UI自动化测试环境
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的UI自动化测试环境
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的UI自动化测试环境
- jenkins/ Hudson 集成测试vc++程序
- hudson 持续集成 --实例发布到tomcat
- AngularJS集成自动化测试
- hudson +gradle+git+maven(非必选)持续集成一 打包自动化
- 游戏项目中的自动化测试和持续集成
- 游戏项目中的自动化测试和持续集成
- Good blog link
- 最大公约数 辗转相除法
- 堆的应用
- 力所能及之spring web.xml配置
- Linux 图片上传需注意
- 自动化测试集成到Hudson中的方法
- JavaScript实现弹层兼容所有浏览器
- Android应用:实现全屏和固定横竖屏的方法
- Search in Rotated Sorted Array II
- sourceinsight注释中文的解决方法
- 解决JSP中文乱码问题
- VS2010使用第三方库时的一般错误及解决方法
- 欢迎使用CSDN-markdown编辑器
- 超赞!源自CODEPEN的25个最受欢迎的HTML/CSS代码