具有状态码问题的TestLink APIException

时间:2015-02-09 11:57:27

标签: java selenium-webdriver testlink

在使用下面的TestLink APIConst值时,xml-rpc调用产生了一个Exception。没有为相应的测试用例打印报告

testlinkResult = TestLinkAPIResults.TEST_DEPARTED;
testlinkResult = TestLinkAPIResults.TEST_WRONG; 

使用这些状态代码之一调用reportTCResult()会产生以下异常

The xml-rpc call to TestLink API method tl.reportTCResult failed.
Result[0] = {message=The status code (d) provided is not valid!, code=6000}
The xml-rpc call to TestLink API method tl.reportTCResult failed.
Result[0] = {message=The status code (w) provided is not valid!, code=6000}

当我使用TEST_PASSEDTEST_FAILED时,结果已成功打印。我的问题是为什么TEST_DEPARTEDTEST_WRONG会失败?


测试框架:带有Selenum Webdriver的测试网络&爪哇

如果需要有关配置文件等的任何更改或信息,请告诉我。

2 个答案:

答案 0 :(得分:1)

很难找到Testlink服务器API的文档!但是,我做了一些搜索并在someones blog here上找到了一些自动生成的文档,这导致我this question(关于将Testlink与Jenkins集成)

结果是,在testlink服务器上,您需要设置要使用的状态代码。查看testlink服务器code here,它们似乎已在const.inc.php文件中设置(在那里发布的版本中的第420行)。默认显示为:

$tlCfg->results['status_code'] = array (
'failed' => 'f',
'blocked' => 'b',
'passed' => 'p',
'not_run' => 'n',
'not_available' => 'x',
'unknown' => 'u',
'all' => 'a'
); 

执行此操作的一种方法是将要直接使用的状态添加到该文件中。如果您的安装中已经有custom_config.inc.php或类似的内容 - 您可能需要在那里添加数组 - 请参阅this question in the testlink bug tracker

您需要添加

'departed` => 'd'

'wrong' => 'w'

所以您的阵列现在看起来像:

$tlCfg->results['status_code'] = array (
'failed' => 'f',
'blocked' => 'b',
'passed' => 'p',
'not_run' => 'n',
'not_available' => 'x',
'unknown' => 'u',
'all' => 'a',
'departed' => 'd',
'wrong' => 'w'
); 

别忘了逗号,或者你可能会运行into this problem(在Testlink错误系统上报告)

答案 1 :(得分:0)

在Richard的帮助下,需要更新Testlink中的以下文件

cfg/const.inc.php
上述文件中的

将更新以下内容

$tlCfg->results['status_label']
$tlCfg->results['status_label_for_exec_ui']
$tlCfg->results['charts']['status_colour'] 

添加所有新引入的状态应该添加

locale/en_gb /string.txt
 Status (used wide)