Linux下Bugfree+Testlink的安装笔记

(一)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;即可。
如果你刚好需要,也可以发邮件给我yfeng.lee@gamil.com,接口文件:

整合办法按李玉鹏的《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的整合

 

之前整合TestlinkBugfree,在网上找了很多资料都没有关于Testlink1.9.3版本跟bugfree整合的帮助,花了一段时间,以及部分过程中遇到的问题的解决,记录下来。

 

Testlink1.9Bugfree3.0的整合。

修改config.inc.php文件中的$g_interface_bugs = 'NO' $g_interface_bugs = 'BUGFREE'

 

Bugfreeconfig目录下添加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中有ID2bug),这样就能看到由于这条用例导致failbug描述信息了

 

这样就OK了。。。

Bugfree中的bug信息:

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值