(一)Bugfree和Testlink的安装配置
首先下载XAMPP:
XAMPP Linux 1.6.8a:
http://jaist.dl.sourceforge.net/sourceforge/xampp/xampp-linux-1.6.8a.tar.gz
相关Linux下安装和配置XAMPP请参考官网:
http://www.apachefriends.org/zh_cn/xampp-linux.html
安装之前首先确认你服务器的80端口有没被占用
netstat -an|grep -w 80
如果被占用了请先关闭相关服务,XAMPP启动要用到80端口.
安装XAMPP:
[root@localhost ~]#wget -c http://jaist.dl.sourceforge.net/sourceforge/xampp/xampp-linux-1.6.8a.tar.gz
[root@localhost ~]#tar xvfz xampp-linux-1.6.8a.tar.gz -C /opt
然后启动(命令参数见XAMPP官网):
opt/lampp/lampp start
您应该能在屏幕上看到类似下面的提示信息:
Starting XAMPP 1.6.8a...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.
好了。Apache 和 MySQL 正在运行中
只需在您的浏览器中输入下面的链接即可: http://localhost
看到一些示例程序的 XAMPP 开始页面就表示XAMPP安装成功了。
接下来我们要配置XAMPP的安全性。
配置XAMPP安全性:
[root@localhost ~]# /opt/lampp/lampp security
XAMPP: Quick security check...
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] XAMPP: Do you want to set a password? [yes] yes
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Password protection active. Please use 'lampp' as user name!
XAMPP: MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes
XAMPP: Turned off.
XAMPP: Stopping MySQL...
XAMPP: Starting MySQL...
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin's pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the password somewhere down to make sure you won't forget it!!!
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL root password.
XAMPP: Change phpMyAdmin's authentication method.
XAMPP: The FTP password is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Reload ProFTPD...
XAMPP: Done.
并设置 XAMPP 随系统自动启动
[root@localhost ~]# ln -s /opt/lampp/lampp /etc/rc.d/rc3.d/S99lampp
[root@localhost ~]# ln -s /opt/lampp/lampp /etc/rc.d/rc4.d/S99lampp
[root@localhost ~]# ln -s /opt/lampp/lampp /etc/rc.d/rc5.d/S99lampp
自此,XAMPP已经配置好了!下面我们来配置BugFree:
下载BugFree2:
[root@localhost ~]# wget -c http://www.bugfree.org.cn/download/bugfree2.tar.gz
解压到Xampp下的htdocs文档下:
[root@localhost ~]#tar xvfz bugfree2.tar.gz -C /opt/lampp/htdocs/
然后复制Include/Config.inc.Sample.php为Include/Config.inc.php,编辑并修改数据库链接地址:
(复制命令CP和修改命令VI,这里就不多介绍了)
/* 3. Define the username and password of the BugFree database. */
$_CFG['DB']['User'] = 'root'; // 数据库登录用户名
$_CFG['DB']['Password'] = 'password'; // 数据库登录用户密码
$_CFG['DB']['Host'] = 'localhost'; // 数据库服务器地址
$_CFG['DB']['Database'] = 'bugfree'; // 指定BugFree数据库名称
$_CFG['DB']['TablePrefix'] = 'bf_'; // 数据库表前缀,默认为bf_。除非有冲突,不建议修改或为空
$_CFG['DBCharset'] = 'UTF8'; // 数据库编码设置,保留默认值
然后设置文件目录权限:
[root@localhost ~]# cd /opt/lampp/htdocs/bugfree
[root@localhost bugfree]# chmod 777 Data/TplCompile/
[root@localhost bugfree]# chmod 777 BugFile/
[root@localhost bugfree]# chmod 777 Include/Config.inc.php
全部配置好就可以访问BugFree了:
http://localhost/bugfree/设置新的数据库
安装bugfree:
wget -c http://www.bugfree.org.cn/download/bugfree2.tar.gz
tar xvfz bugfree2.tar.gz -C /opt/lampp/htdocs/
在浏览器中输入:http://localhost/bugfree
会提示错误,需要解决,我遇到的是数据库方面的错误,需要配置就ok了。相应的去解决问题就ok了。
phpsql在线:
http://localhost/phpmyadmin/
可用PHPSQL操作Mysql数据或linux终端登录mysql
[root@ASP-WEB root]# /opt/lampp/bin/mysql -u root -p
至此,全部安装完成!XAMPP平台真的是个好东西,省去了很多在Linux安装的麻烦
配置testlink:
1.下载1.8版本的testlink
2.tar xvfz testlink_1.8.RC2.tar.gz -C /opt/lampp/htdocs/
3.在浏览器中输入http://localhost/testlink/index.php
会提示有错误的,要解决错误,find -name init.php /opt/lampp,相应的去解决问题就ok了。
http://www.apachefriends.org/zh_cn/xampp-linux.html
$g_tl_admin_email = '[testlink_sysadmin_email_not_configured]'; # for problem/error notification
$g_from_email = '[from_email_not_configured]'; # email sender
$g_return_path_email = '[return_path_email_not_configured]';
$g_smtp_host = '[smtp_host_not_configured]'; # SMTP server MUST BE configured
http://www.leeyupeng.com/archives/309 李玉朋的blog
http://testlink.5d6d.com/forum-5-3.html testlink论坛
如果需要修改为中文则按以下步骤操作:
1)打开testlink下cfg文件夹下的config.inc.php文件,查找$g_default_language = 'en_GB';修改为$g_default_language = 'zh_CN';
2)下载utf8版本的strings.txt替换testlink\locale\zh_CN目录下的strings.txt即可完成汉化
下载网址:http://testlink.5d6d.com/thread-1-1-1.html
3)进入testlink页面,在菜单栏中的Personal中更改admin默认的语言,选择“Chinese silmpified”
日期乱码解决方式:
testlink里面日期会有乱码,需要修改testlink下cfg文件夹下的const.inc.php文件,修改方法如下:
打开 const.inc.php文件
查找'zh_CN' => "%Y锟斤拷%m锟斤拷%d锟斤拷 %H时%M锟斤拷%S锟斤拷",修改为:'zh_CN' => "%Y-%m-%d %H:%M:%S"
http://sourceforge.net/project/showfiles.php?group_id=90976&package_id=216115&release_id=660529testlink1.7.5下载地址
(二)TestLink与 Bugfree的整合
bugfree.cfg.php要放到cfg目录下
int_bugfree.php要放到 lib\bugtracking目录下
注意:
1、由于我Bugfree数据库用的是GB2312,所以在getBugSummaryString函数里我用return iconv("gb2312","utf-8",$summary);把编码转换成utf8。如果你的bugfree用得是utf8那么你直接 return $summary;即可。
如果你刚好需要,也可以发邮件给我[email protected],接口文件:
整合办法按李玉鹏的《TestLink的安装和及与BugFree的整合》一样,但是接口文件需要换成最新的。
引用:
TestLink提供了与bugzilla、mantis等工具整合的功能。
我按照TL的接口规则写了与BugFree整合的程序。
与BugFree整合部分:
1. 修改lib/bugtracking/int_bugtracking.php,将其中的:
$configFiles = array('BUGZILLA' => 'bugzilla.cfg.php',
'MANTIS' => 'mantis.cfg.php',
'JIRA' => 'jira.cfg.php',
);
增加一个值,改为:
$interfaceFiles = array('BUGZILLA' => 'int_bugzilla.php',
'MANTIS' => 'int_mantis.php',
'JIRA' => 'int_jira.php',
'BUGFREE' => 'int_bugfree.php',
);
2. 增加文件:lib/bugtracking/int_bugfree.php、cfg/bugfree.cfg.php(详见附件TLBugFree)
3. 修改config.inc.php,将define(’TL_INTERFACE_BUGS’, ‘NO’);改为define(’TL_INTERFACE_BUGS’, ‘BUGFREE’);
这样就将TL与BugFree整合在一起了。在执行测试用例的时候,会发现界面中多了一个问题报告的部分,如图:
将每次执行失败后的BugID输入进去即可,多个bug用”,”格开(如图中的“2,34”)。点击“保存结果”后,就可以看到bug的状态和标题了(如图中的2:Active - 测试bug)。
在前一阵的使用中,我发现TL的中文本地化文件locale/zh_CN/strings.txt里有些索引不正确,结果导致界面中出现一些硬生生的英文,我就做了相应的修改。
另外TL的css文件主要还是面向西方字符的显示,所以在显示中文的时候,有些地方可能不是很美观,如字体偏小等。针对这种情况,我也对一些css文件进行了修改。
这些修改都放到了附件TLBugFree里,有兴趣的同学可以拿去试试。
我在执行测试的界面下仍然没有问题报告相关内容
按照李的那篇文章,我做了如下修改:
1、int_bugtracking.php中:
原来的
$configFiles = array(
'BUGZILLA' => 'bugzilla.cfg.php',
'MANTIS' => 'mantis.cfg.php',
'JIRA' => 'jira.cfg.php',
'TRACKPLUS' => 'trackplus.cfg.php',
);
//This holds the interface defintion file names for the bugtracking interfaces
//located in the lib/bugtracking diectory
$interfaceFiles = array(
'BUGZILLA' => 'int_bugzilla.php',
'MANTIS' => 'int_mantis.php',
'JIRA' => 'int_jira.php',
'TRACKPLUS' => 'trackplus.cfg.php',
);
改成了
$interfaceFiles = array(
'BUGZILLA' => 'int_bugzilla.php',
'MANTIS' => 'int_mantis.php',
'JIRA' => 'int_jira.php',
'TRACKPLUS' => 'trackplus.cfg.php',
'BUGFREE' => 'int_bugfree.php',
);
其他都注释掉;
2、copy楼主提供的两个新文件到相应目录
3、修改config.inc.php,我的这文件里没有define(’TL_INTERFACE_BUGS’, ‘NO’);
我将
$g_interface_bugs='NO';
改成了
$g_interface_bugs='BUGFREE';
在laolee和小刀的帮助下搞定了,原来是下载的bugfree.cfg.php没有按我的实际情况配置。配置好之后就OK了。
另外,我的int_bugtracking.php中的相应内容最终为:
$configFiles = array(
'BUGZILLA' => 'bugzilla.cfg.php',
'MANTIS' => 'mantis.cfg.php',
'JIRA' => 'jira.cfg.php',
'TRACKPLUS' => 'trackplus.cfg.php',
'BUGFREE' => 'bugfree.cfg.php',
);
//This holds the interface defintion file names for the bugtracking interfaces
//located in the lib/bugtracking diectory
$interfaceFiles = array(
'BUGZILLA' => 'int_bugzilla.php',
'MANTIS' => 'int_mantis.php',
'JIRA' => 'int_jira.php',
'TRACKPLUS' => 'trackplus.cfg.php',
'BUGFREE' => 'int_bugfree.php',
);
TestLink 1.9.3 (Prague) 与 Bugfree 3.0.1的整合
之前整合Testlink和Bugfree,在网上找了很多资料都没有关于Testlink1.9.3版本跟bugfree整合的帮助,花了一段时间,以及部分过程中遇到的问题的解决,记录下来。
Testlink1.9与Bugfree3.0的整合。
修改config.inc.php文件中的$g_interface_bugs = 'NO' 为$g_interface_bugs = 'BUGFREE'
Bugfree的config目录下添加bugfree.cfg.php文件,该文件可以直接从Bugzilla的文件改一改即可,Testlink1.9带了很多缺陷管理工具的配置文件,但是没有bugfree,不知道为什么。
添加的文件内容如下:
<?php
/**
* TestLink Open Source Project - http://testlink.sourceforge.net/
* $Id: bugfree.cfg.php,v 1.10 2008/11/04 19:58:22 franciscom Exp $
*
* TestLink uses Bugfree to check if displayed bugs resolved, verified,
* and closed bugs.
*
*/
//Set the bug tracking system Interface
/** DB host to use when connecting to the Bugfree db */
define('BUG_TRACK_DB_HOST', 'localhost');
/** name of the database that contains the Bugfree tables */
define('BUG_TRACK_DB_NAME', 'bugfree');
/** charset of the database that contains the Bugfree tables */
define('BUG_TRACK_DB_CHARSET', 'UTF-8');
/** useful if you have several schemas see BUGID 1444*/
// define('BUG_TRACK_DB_SCHEMA', '[CONFIGURE_BUG_TRACK_DB_SCHEMA]');
/** DB type used for the bugtracking db */
define('BUG_TRACK_DB_TYPE','mysql');
/** DB user and password to use for connecting to the Bugfree db */
define('BUG_TRACK_DB_USER', 'root');
define('BUG_TRACK_DB_PASS', 'pass');
/** link of the web server */
define('BUG_TRACK_HREF', "http:// /10.34.64.213/bugfree/index.php/bug/");
/** link to the bugtracking system, for entering new bugs */
define('BUG_TRACK_ENTER_BUG_HREF',"http:// /10.34.64.213/bugfree/");
?>
Bugzilla配置文件bugzilla.cfg.php中的原始信息如下:
//Set the bug tracking system Interface
/** DB host to use when connecting to the Bugzilla db */
define('BUG_TRACK_DB_HOST', '[CONFIGURE_BUG_TRACK_DB_HOST]');
/** name of the database that contains the Bugzilla tables */
define('BUG_TRACK_DB_NAME', '[CONFIGURE_BUG_TRACK_DB_NAME]');
/** charset of the database that contains the Bugzilla tables */
define('BUG_TRACK_DB_CHARSET', '[CONFIGURE_BUG_TRACK_DB_CHARSET]');
/** useful if you have several schemas see BUGID 1444*/
// define('BUG_TRACK_DB_SCHEMA', '[CONFIGURE_BUG_TRACK_DB_SCHEMA]');
/** DB type used for the bugtracking db */
define('BUG_TRACK_DB_TYPE','[CONFIGURE_BUG_TRACK_DB_TYPE]');
/** DB user and password to use for connecting to the Bugzilla db */
define('BUG_TRACK_DB_USER', '[CONFIGURE_BUG_TRACK_DB_USER]');
define('BUG_TRACK_DB_PASS', '[CONFIGURE_BUG_TRACK_DB_USER_PASS]');
/** link of the web server */
define('BUG_TRACK_HREF', "http://[bugzillaserver]/bugzilla/show_bug.cgi?id=");
/** link to the bugtracking system, for entering new bugs */
define('BUG_TRACK_ENTER_BUG_HREF',"http://[bugzillaserver]/bugzilla/");
?>
添加好就OK了,可以参照自己的服务器信息配置一下bugfree.cfg.php这个文件。
在lib\bugtracking目录下添加int_bugfree.php这个文件,原始版本是不带这个文件的,我试了使用原来的1.8版本的也不好用,那可以将目录下Bugzilla的配置文件复制后改名为int_bugfree.php,然后修改一下里面的信息。
1. bugfreeInterface
比较:
Bugzilla:
define('BUG_INTERFACE_CLASSNAME',"bugzillaInterface");
Bugfree:
define('BUG_INTERFACE_CLASSNAME',"bugfreeInterface");
2.配置
将文件中所有bugzillaInterface都改为bugfreeInterface
3.修改查询语句
查询语句的修改设计到所有的这个文件中的函数功能。
function getBugStatus($id)函数
Bugzilla中的查询语句:
$query = "SELECT bug_status FROM {$this->dbSchema}.bugs WHERE bug_id='" . $id."'";
修改为bugfree中的查询语句:
$query = "SELECT Bug_Status FROM bugfree.bf_bug_info WHERE ID='" . $id."'";
这里查询语句中直接用到了bugfree数据库的名字进行查询而没有使用$this->dbSchema这种格式,太麻烦。
如果大家不知道自己的bugfree数据库叫什么,可以到到mysql数据库中输入命令show database; 查看一下数据库名称
其他函数查询语句的修改原理相同。
function getBugSummaryString($id) 函数
$query = "SELECT short_desc FROM {$this->dbSchema}.bugs WHERE bug_id='" . $id."'";
$query = "SELECT Title FROM bugfree.bf_bug_info WHERE ID='" . $id."'";
function getBugStatusString($id) 函数
if('RESOLVED' == $status || 'VERIFIED' == $status || 'CLOSED' == $status)
if('Resolved' == $status || 'Active' == $status || 'Closed' == $status)
function checkBugID_existence($id) 函数
$query = "SELECT bug_status FROM {$this->dbSchema}.bugs WHERE bug_id=".$id."";
$query = "SELECT ID FROM bugfree.bf_bug_info WHERE ID=".$id."";
以上信息修改好之后就OK了。只需要修改这些信息。
4.修改bugfree的数据库访问权限
修改lib\bugtracking\int_bugtracking.php这个文件的如下信息:
$btslist = array('BUGZILLA','MANTIS','JIRA', 'JIRASOAP', 'TRACKPLUS',
'EVENTUM','TRAC','SEAPINE','REDMINE','GFORGE','FOGBUGZ','YOUTRACK');
增加一个BUGFREE即可,修改后如下:
$btslist = array('BUGFREE','BUGZILLA','MANTIS','JIRA', 'JIRASOAP', 'TRACKPLUS',
'EVENTUM','TRAC','SEAPINE','REDMINE','GFORGE','FOGBUGZ','YOUTRACK');
访问权限在class bugtrackingInterface这个定义下面
原始信息如下:
var $dbHost = null;
var $dbName = null;
var $dbUser = null;
var $dbPass = null;
var $dbType = null;
var $showBugURL = null;
var $enterBugURL = null;
var $dbCharSet = null;
var $tlCharSet = null;
修改后:
var $dbHost = 'localhost';
var $dbName = 'bugfree';
var $dbUser = 'admin';
var $dbPass = 'admin';
var $dbType = 'mysql';
var $showBugURL = 'http://192.168.2.50/bugfree/index.php/bug/';
var $enterBugURL = 'http://192.168.2.50/bugfree';
var $dbCharSet = 'latin1';
var $tlCharSet = NULL;
上面分别是访问bugfree数据库权限的密码和Testlink中显示bug超链接的地址。
这样就OK了,然后登陆Testlink,创建用例,创建构建和测试计划,指派到测试计划,执行,之后界面会显示如下:
看到没,多了一个小虫的图标,这个就是添加bugfree关联的图标,点击图标,出来如下对话框:
添加问题编号2(需保证bugfree中有ID为2的bug),这样就能看到由于这条用例导致fail的bug描述信息了
这样就OK了。。。
Bugfree中的bug信息: