自动化测试框架实践3-CC

简介:

1.CruiseControl官网:http://cruisecontrol.sourceforge.net/

2.《Ant、SVN、CruiseControl每日构建 配置方法》 参见:http://www.uml.org.cn/pzgl/200803217.asp 

一:ANT与SVN的集成
ant:大家都知道,是基于java的build工具,不用多说。 
svn:目前流行的版本控制软件(架构?)。 
ant可以将svn集成进来,即:在ant的build.xml脚本中,定义svn的下载,进行动态编译,这是个好东东哦。 
脚本配置大致如下:
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpath="./lib/svnant.jar" />        
        <svn username="${svn_login}" password="${svn_password}" javahl="true">
              <checkout url="${svn_url_ide_environment}" revision="HEAD" destPath="${ide.environment.srccode.dir}"/>
              <checkout url="${svn_url_epos_project}" revision="HEAD" destPath="${ide.epos.project.srccode.dir}"/>
            </svn> 
然后配置环境变量ANT_HOME=D:\Work\Lib\apache-ant-1.6.4、并且在PATH中加入ANT的BIN目录,这样,才能在命令行中执行ant命令。 
写好build.xml后,兴冲冲的跑去CMD执行ant,哇,错得一塌糊涂,错误提示找不到javahl,这是啥东西,不管他,去http://subversion.tigris.org/下载一个“svnant”,我这边的版本是svnant 0[1].9.13,将压缩包根目录下面的全部DLL文件拷贝到system32目录下,再在命令行中执行ant,发现成功了,ant乖乖的开始从SVN服务器下载文件了。
二:Ant、SVN、CruiseControl再集成
在cruisecontrol中配置SVN选项:
       <bootstrappers>
            <svnbootstrapper localWorkingCopy="projects/${project.name}" />
        </bootstrappers> 
        <modificationset quietperiod="30">
            <svn localWorkingCopy="projects/${project.name}"/>
        </modificationset> 
执行cruisecontrol.bat 
报错啦:net.sourceforge.cruisecontrol.CruiseControlException: Error executing SVN update command 
大伙可以去google和baidu查查,求助的帖子一大堆,就是没有解决办法(或是人家解决了不愿意说出来)。 
都到这份上,该发挥群众的智慧了。 
考虑到上面ANT和SVN集成的问题,首先想到的是,可能没有在环境变量中引入SVN的执行BIN。笔者安装的SVN客户端是TortoiseSVN,于是在配置环境变量SVN_HOME=D:/TortoiseSVN,然后加入PATH中……;%SVN_HOME%\BIN。 
再执行执行cruisecontrol.bat,TMMD,还是net.sourceforge.cruisecontrol.CruiseControlException: Error executing SVN update command 
发飙了,还是要错,不就SVN命令找不到嘛,这个好办,我们再来。 
还是去http://subversion.tigris.org/,下载svn-1.4.3-setup.exe,安装后,将SVN_HOME修改成Subversion的根目录(检查一下,在Subversion的BIN目录下,居然有SVN.EXE)。 
再执行执行cruisecontrol.bat,好了,成功了。

3.借助CruiseControl完成持续集成,参考下文:http://www.javaranch.com/journal/200409/DrivingOnCruiseControl_Part1.html

 

引用一篇Windows环境下的安装:持续集成服务器(CruiseControl)安装和配置 (参见:http://tech.it168.com/m/2008-05-05/200805051506316.shtml ),完成之后我自己修改总结。

我使用的是CruiseControl-2.7.1

CruiseControl:http://cruisecontrol.sourceforge.net/

SVN:http://subversion.tigris.org/

首先安装你的CruiseControl,你可以选择exe的文件下载,直接安装就可以,

然后设置你的环境变量,将svn添加到你的环境变量的path中。

CruiseControl安装后的目录结构是:

其中CruiseControl(以下简称CC)自带ant1.7.0;文档在docs目录下,这里面包括config.xml的相关的参数设置说明;logs下面包括日志信息,可以通过在config.xml中指定日志路径和名称;projects下面放的是需要进行持续集成的项目,lib目录中放有cruisecontrol.jar和其他运行需要的jar;webapps下是cruisecontrol build结果的网站,可以通过访问 http://127.0.0.1:8080/dashboard来进行对你的项目进行编译发布到你指定的web容器上。

以下是我的一个项目的config.xml文件的配置:

xml 代码

1.<cruisecontrol> 
2.<!--这个地方的项目名称要和你的projects目录下的项目名称一样--> 
3. <project name="potato"> 
4. <listeners> 
5. <currentbuildstatuslistener file="logs/${project.name}/status.txt"/> 
6. </listeners> 
7. 
8. <bootstrappers> 
9. <svnbootstrapper localWorkingCopy="projects/${project.name}" username="test" password="test" /> 
10. </bootstrappers> 
11.
12. <modificationset quietperiod="60"> 
13. <svn localWorkingCopy="projects/${project.name}" username="test" password="test" /> 
14. </modificationset> 
15. 
16. <schedule interval="3600"> 
17.<!--这个地方配置的是使用ant来进行编译,后面的target是调用ant的那个任务,最后面的属性文件是我用来配置我的tomcat目录的,build.xml文件就是你工程下面的build文件--> 
18. <ant anthome="apache-ant-1.7.0" time="0400" buildfile="projects/${project.name}/build.xml" target="deploy" propertyfile="projects/${project.name}/ant.properties"/> 
19. </schedule> 
20. 
21. <log> 
22. <!--merge dir="projects/${project.name}/target/test-results"/--> 
23. <!--merge file="projects/${project.name}/dist/checkstyle.xml"/--> 
24. </log> 
25. 
26. <publishers> 
27. <onsuccess> 
28. <artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/dist/i941ok.war"/> 
29. </onsuccess> 
30. <htmlemail mailhost="inc-mx2" 
31. returnaddress="zhangjf1@gmail.com
32. skipusers="true" 
33. subjectprefix="[admin.Build.Server]" 
34. buildresultsurl="http://asd1-server:6636/dashboard
35. username="admin" 
36. password="admin" 
37. charset="UTF-8"> 
38.<!--编译成功和失败发送的邮件地址--> 
39. <failure address="zhangjf1@gmail.com" /> 
40. <success address="zhangjf1@gmail.com" /> 
41. </htmlemail> 
42. </publishers> 
43. 
44. </project> 
45.</cruisecontrol>

把你的工程从svn上取下来放到你的projects目录下,启动的CruiseControl服务,在地址浏览器中输入http://127.0.0.1:8080/dashboard就可以看到你的项目的管理界面,你可以设置什么时候进行编译,也可以进行强制编译。



本文转自 念槐聚 博客园博客,原文链接:http://www.cnblogs.com/haochuang/archive/2012/05/04/2482391.html,如需转载请自行联系原作者

相关文章
|
4月前
|
安全 Unix Linux
Metasploit Pro 4.22.7-2025050101 发布 - 专业渗透测试框架
Metasploit Pro 4.22.7-2025050101 发布 - 专业渗透测试框架
118 10
Metasploit Pro 4.22.7-2025050101 发布 - 专业渗透测试框架
|
2月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。
|
3月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架
113 3
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架
|
1月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-2025073001 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025073001 (Linux, Windows) - 专业渗透测试框架
85 0
|
2月前
|
测试技术 API C++
Playwright 自动化测试系列(7)| 第三阶段:测试框架集成​​Page Object 模式
本课程详解Playwright测试框架中的Page Object模式,通过电商登录-下单实战演示PO架构设计与高级技巧,结合Pytest实现多用户测试。重点解析PO模式提升代码复用性、降低维护成本的核心价值,并提供常见问题解决方案,助力构建高可维护性的自动化测试体系。
|
4月前
|
安全 Unix Linux
Metasploit Pro 4.22.7-2025052201 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025052201 (Linux, Windows) - 专业渗透测试框架
115 5
Metasploit Pro 4.22.7-2025052201 (Linux, Windows) - 专业渗透测试框架
|
2月前
|
运维 监控 安全
从实践到自动化:现代运维管理的转型与挑战
本文探讨了现代运维管理从传统人工模式向自动化转型的必要性与路径,分析了传统运维的痛点,如效率低、响应慢、依赖经验等问题,并介绍了自动化运维在提升效率、降低成本、增强系统稳定性与安全性方面的优势。结合技术工具与实践案例,文章展示了企业如何通过自动化实现运维升级,推动数字化转型,提升业务竞争力。
|
4月前
|
数据采集 安全 Linux
Metasploit Pro 4.22.7-2025051201 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025051201 (Linux, Windows) - 专业渗透测试框架
93 4
Metasploit Pro 4.22.7-2025051201 (Linux, Windows) - 专业渗透测试框架
|
4月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.63 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.63 (macOS, Linux, Windows) - 开源渗透测试框架
102 4
Metasploit Framework 6.4.63 (macOS, Linux, Windows) - 开源渗透测试框架
|
2月前
|
Java 测试技术 API
自动化测试框架深度解析与选择指南
Apache JMeter是Apache组织基于Java开发的一款压力测试工具,旨在测试软件的性能承受能力。它支持多种协议测试及功能测试,提供灵活的断言创建能力,如同创建带断言的脚本来验证程序是否返回预期结果。