Under the hood

互联网上新生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

构建基于Trac的自动测试框架(一):安装Trac

Posted on 2009-05-11 21:31  sting feng  阅读(2240)  评论(1编辑  收藏  举报

很久以来就有的想法,给我们的产品开发搭建一个集成的自动测试框架。想达到的目标有:

  • 自动从代码库抓取代码
  • 自动Build、制作安装包、并收集Debug Symbols
  • 自动发布
  • 自动安装到目标设备
  • 自动运行测试用例、存储测试结果
  • 测试用例和测试结果

有点类似于Continuous Integration的概念但不完全相同。这么一个系统自己开发显然要花费非常多时间,最好的方法是利用现有的工具来搭建。一番研究下来,发现Trac非常符合我的要求:免费、开源、跨平台、轻量级、高度可扩展,等等,这些特点我都非常喜欢。这篇文章记录我在安装、配置基于Trac的集成框架的一些经验。在Python、Trac方面我都接触不久,理解有限,如果不妥之处请各位指出。

1.安装Trac

我对Python、Trac、Apache、SVN这些开源开发工具都是初次接触,为降低难度,从一开始就没打算在Linux安装,但还是走了不少弯路。开始时尝试用CollabNet SVN Server+Python+Trac+Apache,在和Trac集成时由于python和Apache的svn库版本不一致放弃了。后来改用Visual SVN Server+Trac,方便很多。Visual SVN Server安装简单,集成了SVN和Apache,而且有基于GUI的管理界面。

  • 安装Visual SVN Server。最新版本可在这里下载,我用的是1.6.3,集成了Apache 2.2.9和SVN 1.1.5。安装十分简单,在Custom Setup页面要做一些选择,其余的一路Next。我的选择是:
    • 安装路径:默认
    • 代码仓库路径:D:"repos
    • 服务端口:https 8443
    • 验证方式:SVN验证
  • 安装完成启动Visual SVN Server管理界面,为项目建立用户名和创建代码仓库:
    • Repositories上右键“Create New Repository...",输入项目名VMCEPC,勾上"Create default structure"。
    • Users上右键"Create User...",创建用户名admin。

现在SVN Server就搭建好了,用Web浏览器测试一下是否成功,在地址栏输入:https://localhost:8443/svn/。注意最后的斜杠是必要的。另外forefox 3.0.x似乎有点bug,不能为自制证书”add exception“,从因此如果SVN Server启用了https,在firefox 3.0.x中是不能正常连接的。IE和firefox 3.1都没问题。

  • 安装Trac 0.11。由于没有装Python,Trac主页上介绍的安装方法不适用。好在Visual SVN Server网站提供了一个work around,详细步骤看这里
    • 在这里下载Trac 0.11 for Visual SVN Server
    • 把安装包里的trac目录加压到C:\Program Files\VisualSVN Server\
    • 创建目录d:\trac
    • 为VMCEPC项目初始化trac环境,除了"Path to repository"要明确指定,其余可以全部用默认设置,这些设置以后都可以改。在DOS窗口运行命令:
"C:\Program Files\VisualSVN Server\trac\trac-admin.bat" d:\trac\vmcepc initenv
      • Project Name: VMCEPC
      • Path to repository: d:\repos\vmcepc
    • 把admin加为trac admin,在DOS窗口运行命令:
"C:\Program Files\VisualSVN Server\trac\trac-admin.bat" d:\trac\vmcepc permission add admin TRAC_ADMIN
    • 编辑C:\Program Files\VisualSVN Server\httpd-wrapper.bat,在文件最开始处添加一行:set PYTHONHOME=%~dp0\Trac\python
    • 在C:\Program Files\VisualSVN Server\conf\httpd-custom.conf中加入这些设置:
LoadModule python_module "trac/python/mod_python_so.pyd"
LoadModule authz_user_module bin/mod_authz_user.so
<Location /trac>
  SetHandler mod_python
  PythonInterpreter main_interpreter
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnvParentDir d:\trac
  PythonOption TracUriRoot /trac
  AuthName "Trac"
  AuthType Basic
  AuthBasicProvider file
  AuthUserFile "d:/repos/htpasswd"
  Require valid-user
</Location>

 

这样trac server就搭好了。在浏览器中输入地址:https://localhost:8443/trac/。如果看到有"Available Projects"列出就说明成功了。如果有错误,可以打开Windows的Event Viewer查看VisualSVN Server的日志信息。

另外如果想为多个项目配置trac,可以做一个通用的配置文件trac.ini,放到d:\trac\trac.ini,然后在具体项目的trac.ini文件里引用它:

# -*- coding: utf-8 -*-

[inherit]
plugins_dir 
= d:\trac\trac.ini

[project]
descr 
= Windows CE for VMWare
name 
= VMCEPC

[trac]
repository_dir 
= d:\repos\vmcepc