一、简介

TestLink用于进行测试过程中的管理,通过使用TestLink提供的功能,可以将测试过程从测试需求、测试设计、到测试执行完整的管理起来,同时,它还提供了好 多种测试结果的统计和分析,使我们能够简单的开始测试工作和分析测试结果。

二、testlink的安装

testlink主页为http://www.teamst.org/ ,其项目托管在sourceforge,下载testlink

1wget http://nchc.dl.sourceforge.net/project/testlink/TestLink%201.9/TestLink%201.9.4/testlink-1.9.4.tar.gz

testlink的安装非常简单,将程序解包后,放到htdocs目录,直接输入http://ip/testlink,接着按提示,下一步下一步就行了。在Read/write permissions项中 可能会提示logs和upload_area目录不存在 。我们可以按其提示建目录,也可以通过config.inc.php文件指定目录

1 vim config.inc.php
2 $tlCfg->log_path = '/var/testlink/logs/'; /* unix example */
3 $g_repositoryPath = '/var/testlink/upload_area/';  /* unix example */
4修改以上两处。

安装完成后,我们可以使用默认的用户名密码admin/admin登录。其中在输入数据密码处,请注意下图的部分:

testlink1

三、与openldap的集成

与openladp的集成,同样是修改config.inc.php文件,找到以下部部,将认证方式改成ldap认证,并根据情况,修改ldap的认证配置:

 1/**
 2 * Login authentication method:
 3 *      'MD5' => use password stored on db
 4 *      'LDAP' => use password from LDAP Server
 5 */
 6$tlCfg->authentication['method'] = 'LDAP';
 7$tlCfg->authentication['SSO_enabled'] = false;
 8$tlCfg->authentication['SSO_method'] = 'CLIENT_CERTIFICATE';
 9$tlCfg->authentication['SSO_uid_field'] = 'SSL_CLIENT_S_DN_Email';
10/** LDAP authentication credentials */
11$tlCfg->authentication['ldap_server'] = 'localhost';
12$tlCfg->authentication['ldap_port'] = '389';
13$tlCfg->authentication['ldap_version'] = '3'; // could be '2' in some cases
14$tlCfg->authentication['ldap_root_dn'] = 'dc=361way,dc=com';
15$tlCfg->authentication['ldap_organization'] = '';    // e.g. '(organizationname=*Traffic)'
16$tlCfg->authentication['ldap_uid_field'] = 'uid'; // Use 'sAMAccountName' for Active Directory
17$tlCfg->authentication['ldap_bind_dn'] = 'cn=mailadmin,dc=361way,dc=com'; // Left empty for anonymous LDAP binding
18$tlCfg->authentication['ldap_bind_passwd'] = 'test123'; // Left empty for anonymous LDAP binding
19$tlCfg->authentication['ldap_tls'] = false; // true -> use tls

注:由于我们公司mail、OA、jira、wiki、crowd等都是通过openladp集成的。所有在与testlink的集成时,我测试了好久才找到门道,具体如下。

配置 $tlCfg->authentication[‘ldap_root_dn’] = ‘dc=361way,dc=com’; 项,使用的是ldap的suffix的内容。面不是ldap的rootdn项,具体可以参看ldap的slapd.conf配置文件,如下:

1[root@web10 openldap]# vim /etc/openldap/slapd.conf
2database    bdb
3suffix      dc=361way,dc=com
4directory   /var/lib/ldap/361way.com
5rootdn      cn=Manager,dc=361way,dc=com
6rootpw

配置 ldap_uid_field 项的值可以从ldap的库里查找。

1将ldap库导出
2/usr/sbin/slapcat > /tmp/ldap.bak

导出后,查到如下的部门可以确认用户名和密码项等在ldap里对应的值

1enabledService: senderbccrecipientbcc
2enabledService: shadowaddress
3enabledService: displayedInGlobalAddressBook
4userPassword:: e1NTSEF9CDE2R2Q3YUAqab==
5uid: 361way

可以确认用户名对应的列名为uid 。’ldap_bind_dn’、’ldap_bind_passwd’两项不多说,为ldap对应的管理用户名和密码(不一定必须是rootdn用户)。

注:此时并不能直接用openldap里的用户名和密码登录。其还需要注册下,但这个注册不需要密码,密码会从ldap里取。

testlink2

注册里的用户名(Login name)一定要输入一个ldap中存在的用户,后面的fister name 、last name随意。邮箱最好也和ldap里的邮箱保持一致。

testlink3

此时,我们以ldap中所配置的用户名和密码进行登录时,默认进入的是guest用户组。连接testlink数据库,查看users表,发现我们刚注册的用户password列为空 。role_id值为6,即guest用户,将其改为值改为8 ,就可以将用户提升为admin组,即为管理员。

注:与ldap集成时,一定要安装php的ldap支持,如果是yum安装,可通过yum -y install php-ldap 安装ldap支持。默认安装后会在php的模块目录里找到ldap模块 /usr/lib64/php/modules/ldap.so,32位系统会在/usr/lib下