在之前配置TestLink的过程中,考虑在执行的过程中,显示该用例关联过的缺陷,作为测试执行参考,需要在execSetResults.php里面增加部分代码,代码如下:

//blew function is added by hengleiwang 2013/3/21 /* Add this function to list all of them bugs that have been related to this testcases */ function exec_get_testcase_related_bugs(&$db,&$bug_interface,$tcversionSet) { $bugs = null; $bugs = get_bugs_for_testcase($db,$bug_interface,$tcversionSet); return $bugs; } $gui->case_related_bug = exec_get_testcase_related_bugs($db,$g_bugInterface,$gui->tcversionSet); if (count($gui->case_related_bug) == 0) { $gui->case_related_bug = null; } inc_exec_controls.tpl {*input the code here for test cases related bugs;*---by henrywang} {* Execution Bugs (if any) *} {if isset($gui->case_related_bug)} <div class="exec_history_title"> 关联到这个用例的缺陷 </div> <table style="95%;"> <tr style="background-color: {$bg_color}" > <td colspan="{$my_colspan}" style="align:center;"> {*BUGID 3587*} {include file="inc_show_bug_table_without_del.tpl" bugs_map=$gui->case_related_bug } </td> </tr> {/if} </table> {*end the input*------by henrywang} inc_show_bug_table_without_del.tpl {* Testlink Open Source Project - http://testlink.sourceforge.net/ $Id: inc_show_bug_table.tpl,v 1.10 2010/07/09 11:41:15 mx-julian Exp $ rev : 20100709 - Julian - show greyed delete icon if delete is not allowed 20070304 - franciscom - added single quotes on bug_id on deleteBug_onClick() call message improvement added title on delete image. *} {* -------------------------------------------------------------------------------------- *} {* Manage missing arguments *} {if !isset($tableClassName) } {assign var="tableClassName" value="simple"} {/if} {if !isset($tableStyles) } {assign var="tableStyles" value="font-size:12px"} {/if} {* -------------------------------------------------------------------------------------- *} <table class="simple"> <tr> <th style="text-align:left">{lang_get s='build'}</th> <th style="text-align:left">{lang_get s='caption_bugtable'}</th> <th style="text-align:left"> </th> </tr> {foreach from=$bugs_map key=bug_id item=bug_elem} <tr> <td>{$bug_elem.build_name|escape}</td> <td>{$bug_elem.link_to_bts}</td> </tr> {/foreach} </table> exec.inc.php /* * get bugs for the testcase * added by hengleiwang 2013/3/21 */ function get_bugs_for_testcase($db,&$bug_interface,$tcversionSet) { $tables['execution_bugs'] = DB_TABLE_PREFIX . 'execution_bugs'; $tables['executions'] = DB_TABLE_PREFIX . 'executions'; $tables['builds'] = DB_TABLE_PREFIX . 'builds'; $bug_list=array(); $sql = "SELECT bug_id,builds.name AS build_name " . "FROM {$tables['execution_bugs']}, {$tables['executions']} executions, " . " {$tables['builds']} builds ". "WHERE executions.tcversion_id ={$tcversionSet} " . "AND execution_id=executions.id " . "AND executions.build_id=builds.id " . "ORDER BY builds.name,bug_id"; $map = $db->get_recordset($sql); // BUGID 3440 - added is_object() check if( !is_null($map) && is_object($bug_interface)) { foreach($map as $elem) { $bug_list[$elem['bug_id']]['link_to_bts'] = $bug_interface->buildViewBugLink($elem['bug_id'],GET_BUG_SUMMARY); $bug_list[$elem['bug_id']]['build_name'] = $elem['build_name']; } } return($bug_list); }