【问题标题】:Facing Cannot read property 'start' of undefined面对无法读取未定义的属性“开始”
【发布时间】:2017-05-12 09:29:44
【问题描述】:

我已经安装了 npm 的 jsonjunit 包。我想将 json 文件转换为 junit xml - 以便 jenkins 可以读取该文件。我的 json 文件是这样的:-

{“结果”:[ {"id":1136168, "开始时间":"2017-05-12T15:11:07.834Z", "结束时间":"2017-05-12T15:11:17.834Z", “状态”:0, "comment":"测试已经运行完成", "logFile":"ftp://stormtest:stormtest@blr-strmtst-01:21/public/NET_TEST/Tools/flashUI_20170511_124701", “用户”:{“id”:1032295,“名称”:“BLRTEST”}, “脚本”:{“路径”:“公共/NET_TEST//工具//flashUI.py”}, “时间表”:{“id”:1136164}, “工作”:{“id”:1136167}, "duts":[{"id":98113,"name":"7430_NET_II_1"}], "slots":[{"id":59,"number":2,"server":{"id":52,"name":"BLR-STRMTST-01"}}]}]}


我使用以下命令将 json 转换为 junit xml ,按照https://www.npmjs.com/package/json-junit.But 中提到的指令,它会抛出错误:

var dateFormatted = new Date(jsonData.stats.start), TypeError:无法读取 Object.convertJson 处未定义的属性“开始”(C:\Program Files\nodejs\node_modules\npm\node_modules

请帮忙。

【问题讨论】:

  • 只是简单地编写特殊的自定义程序,将 Json 转换为 XML...
  • 我能够安装 npm 并使用 json junit 库,但我遇到了以下错误:- var dateFormatted = new Date(jsonData.stats.start), TypeError: Cannot read property 'start'在 Object.convertJson 未定义(C:\Program Files\nodejs\node_modules\npm\node_modules
  • 我的json文件是这样的:

标签: javascript python json xml junit


【解决方案1】:

我能够将 XML 转换为 jenkins 可以读取的 Junit xml 格式。首先,我制作了以下 XLST 文件作为解析器:-

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<testsuites>
<testsuite tests="{count(exported_results/test_result)}" passed="{count(exported_results/test_result[test_status='111'])}" failed=" {count(exported_results/test_result[test_status='100'])}">          
<xsl:for-each select="exported_results/test_result[test_status='111']">
<testcase name="{test_script}" classname="{schedule_name}" result="{test_status}" comments = "{result_comments}"></testcase><passed />
</xsl:for-each>
<xsl:for-each select="exported_results/test_result[test_status='100']">
<testcase name="{test_script}" classname="{schedule_name}" result="{test_status}" comments = "{result_comments}"></testcase><failed />
</xsl:for-each>
</testsuite>
</testsuites>
</xsl:template>
</xsl:stylesheet>

然后我使用了文章中提供的python脚本:-How to transform an XML file using XSLT in Python?

借助脚本 - 我能够生成 jenkins 支持的 junit xml。输出是这样的:-

    <?xml version="1.0"?>
-<testsuites>
-<testsuite failed=" 1" passed="1" tests="2">
<testcase comments="Test has run to completion" result="111" classname="FAV" name="public/Test_ATL_1/Framework/ATS_UI/Guide_test/zapper/favorite_list/TM_2291_add_fav_chn_from_epg.py"/>
<passed/>
<testcase comments="Test has run to completion" result="100" classname="FAV" name="public/Test_ATL_1/Framework/ATS_UI/Guide_test/zapper/favorite_list/TM_2287_add_fav_chn_from_live.py"/>
<failed/>
</testsuite>
</testsuites>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    • 2015-08-18
    • 2020-10-06
    • 1970-01-01
    相关资源
    最近更新 更多