我正试图在Jenkins的Testopia插件的帮助下整合Bugzilla Testopia和Jenkins。
一般配置可能很好,因为Testopia和Jenkins之间的连接已经很好地建立(Jenkins日志说:'连接到Testopia以检索自动化测试用例',然后不会发生错误)。但是,我无法从Testopia检索有关测试运行/测试用例等的任何信息。
此外,我无法执行任何“迭代测试构建步骤”。如果我想用Testopia插件在'迭代测试构建步骤'中'执行Shell',则不执行任何操作(即使我尝试:echo 12345等)。如果我使用“单一测试构建步骤”,则执行shell命令。
我的目标是从Testopia检索测试类名称(它存储在Testopia Test Case的字段 - Automation / Scripts中),然后从Jenkins运行maven build,并将此类名设置为参数。之后,根据Jenkins构建成功或失败状态,我想更新Testopia中的测试用例状态。
如何从Testopia获取任何信息到Jenkins? 为什么没有执行任何“迭代测试构建步骤”? 有线索吗? - Testopia插件网站示例对我来说没什么用处。
Bugzilla和Jenkins都托管在同一个Ubuntu 14.04上。我有Jenkins,Bugzilla和Testopia的最新稳定版本。
提前致谢, 微米。
编辑:
这个调试对我来说不起作用。我添加了一个新的日志记录器,其中包含' ALL'选择的级别,我在作业的控制台输出和新创建的记录器输出中都看不到任何其他日志。
我的Testopia安装可能有问题吗?有关我的配置的更多细节:
我已将Testopia安装在同一台机器上(如Jenkins),通常我通过以下方式访问它:http://' ip_address' / bugzilla - 在Testopia插件配置中,我的Testopia安装URL是:http://' ip_address' /bugzilla/xmlrpc.cgi - 我只有一个bugzilla帐户 - 我在Jenkins中使用的这些管理员凭据 - 有时在詹金斯,我可以看到关于不正确的反向代理配置的警告 - 也许它与问题有关
在执行作业后,所有Testopia的字段都为0 - 运行ID,构建ID等 - 这显然表明没有从Testopia成功检索到任何信息。
如何检查为什么我无法从Testopia检索任何信息?
编辑2:
与此同时,我认为我在jenkins安装目录的jenkins.log文件中找到了一条线索:
出现以下例外情况: 信息:TESTOPIA_TEST_SUITE_3#13主要构建操作已完成:成功 org.apache.xmlrpc.XmlRpcException:请求的方法' TestRun.get'没找到。 在org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:197) ... org.apache.xmlrpc.XmlRpcException:请求的方法' TestRun.get_test_cases'没找到。 在org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:197)
我应该插入完整的堆栈跟踪吗?
答案 0 :(得分:0)
看起来插件会记录大量信息,但不是所有信息都会记录到构建控制台输出本身。
要进一步调试,您可以尝试adding a new log recorder作为记录器jenkins.plugins.testopia
(日志级别为“all”),运行构建,然后刷新新创建的日志记录器的网页以查看输出。
在连接之后,至少应该看到“过滤自动化测试用例”,找到每个测试用例的信息,然后在每个测试用例上运行每个迭代构建步骤的日志输出。
答案 1 :(得分:0)
当我使用python xmlrpc与我的bugzilla-testopia服务器进行通信时,我遇到了类似的问题。
我知道错误代码,并在我的bugzilla安装位置找到XMLRPC.pm:“。/ WebService / Server / XMLRPC.pm”。
我知道这个子函数抛出了错误,它检查登录状态并转发到moduel.function必须在PUBLIC_METHODS中的模块:
sub handle_login {
...
if (none { $_ eq $method } $class->PUBLIC_METHODS) {
ThrowCodeError('unknown_method', { method => $full_method });
}
...
}
我不知道为什么但是在PUBLIC_METHODS中找不到TestCase.get,所以我只是将它们标记为注释然后它就可以了。您可以快速执行此操作以确保客户端设置正确。然后你应该解决下面的“PUBLIC_METHODS”问题。