Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins 詹金斯测试结果分析器显示的持续时间错误_Jenkins_Junit_Jenkins Plugins_Newman - Fatal编程技术网

Jenkins 詹金斯测试结果分析器显示的持续时间错误

Jenkins 詹金斯测试结果分析器显示的持续时间错误,jenkins,junit,jenkins-plugins,newman,Jenkins,Junit,Jenkins Plugins,Newman,我正在运行一个Jenkins作业,该作业正在运行一些newman测试,并正在生成一个junit测试结果文件,该文件如下所示: 由于某些原因,“测试结果分析器”“插件将时间字段读取为秒,而不是如所附图片所示的毫秒。 任何关于这里发生的事情的线索都会有所帮助。 此外,我正在使用最新版本的“测试结果分析器”和junit,因此,如果有人知道更好的Jenkins插件,请分享 好的,从我所读到的来看,罪魁祸首似乎是Newman(Postman CMD工具),而不是测试结果分析器。请在此处查看此页面:

我正在运行一个Jenkins作业,该作业正在运行一些newman测试,并正在生成一个junit测试结果文件,该文件如下所示:


由于某些原因,“测试结果分析器”“插件将时间字段读取为秒,而不是如所附图片所示的毫秒。 任何关于这里发生的事情的线索都会有所帮助。 此外,我正在使用最新版本的“测试结果分析器”和junit,因此,如果有人知道更好的Jenkins插件,请分享


好的,从我所读到的来看,罪魁祸首似乎是Newman(Postman CMD工具),而不是测试结果分析器。请在此处查看此页面:

Junit格式的“time”属性似乎以秒为单位,而不是以毫秒为单位。也就是说,纽曼产生:time=“337”(正如您在上面看到的),其中as测试分析器期望time=“0.337”

因此添加了另一个构建阶段(Jenkins),它运行这个小python脚本,将“time”属性从毫秒转换为秒

import os
import xml.etree.ElementTree as etree

#print os.getcwd()
os.chdir('path_to/tests')

collection = os.environ['Collection']
e = etree.parse(collection + '_results.xml').getroot()

for atype in e.findall('testsuite'):
    duration=int((atype.get('time')))
    atype.set('time',str(duration/float(1000)))

f = open('fixed.xml','w')
print >> f, etree.tostring(e)
这就解决了问题

更新:

事实上,我在服务器上运行的Newman上有一个过时的版本。。。。将newman升级到最新版本(3.5.2)修复了该问题。。。。 哦,好吧