【问题标题】:TestNG - "Unable to parse suite" error when trying to run an XML fileTestNG - 尝试运行 XML 文件时出现“无法解析套件”错误
【发布时间】:2021-04-20 16:51:35
【问题描述】:

我正在使用 IntelliJ、Maven、TestNG 和 Selenium Webdriver 开发一个测试自动化项目。 问题是我无法运行 XML 套件文件。右键单击此类文件可以让我选择运行它们,但它失败并出现错误: Unable to parse suite: InputStream cannot be null

没有提供更多信息。 TestNG 插件已安装并处于活动状态。运行配置有 TestNG 选项。

这是我要运行的 XML 文件:

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">

<suite name="All Test Suite" verbose="1">
    <parameter name="environment" value="chrome"/>
    <parameter name="remoteRun" value="false"/>

    <test name="Regression12">
        <classes>
            <class name="tests.SampleTest"/>
        </classes>
    </test>
</suite>

我一直在网上寻找答案,但答案不多,而且没有一个解决方案适用于我的情况。 我试图更改 XML 文件的位置,但没有更改任何内容。

感谢您的帮助,如果我应该提供更多信息,请告诉我。

IntelliJ 版本是 2020.3.2 - 没有可用的 IDE 或插件更新,因此一切都是最新的。我在 Windows 10 上运行它。

更新:这是运行 XML 文件后 IntelliJ 的堆栈跟踪。 关于“SLF4J”依赖(日志记录)有一个错误,但我认为这与我的问题无关。

2021-02-08 09:10:23,605 [ 282317]   INFO - ij.compiler.impl.CompileDriver - COMPILATION STARTED (BUILD PROCESS) 
2021-02-08 09:10:23,609 [ 282321]   INFO - j.compiler.server.BuildManager - Using preloaded build process to compile C:/Users/customname/IdeaProjects/customname-project-automated-tests 
2021-02-08 09:10:23,781 [ 282493]   INFO - lij.compiler.impl.CompilerUtil -     COMPILATION FINISHED (BUILD PROCESS); Errors: 0; warnings: 0 took 186 ms: 0 min 0sec 
2021-02-08 09:10:24,713 [ 283425]   INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stdout]: Build process started. Classpath: C:/Program Files/JetBrains/IntelliJ IDEA Community Edition 2020.3.2/plugins/java/lib/jps-launcher.jar 
2021-02-08 09:10:24,799 [ 283511]   INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
2021-02-08 09:10:24,800 [ 283512]   INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: SLF4J: Defaulting to no-operation (NOP) logger implementation 
2021-02-08 09:10:24,800 [ 283512]   INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
2021-02-08 09:10:26,197 [ 284909]   INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: WARNING: An illegal reflective access operation has occurred 
2021-02-08 09:10:26,197 [ 284909]   INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: WARNING: Illegal reflective access by com.intellij.util.ReflectionUtil (file:/C:/Program%20Files/JetBrains/IntelliJ%20IDEA%20Community%20Edition%202020.3.2/lib/util.jar) to method java.util.ResourceBundle.setParent(java.util.ResourceBundle) 
2021-02-08 09:10:26,197 [ 284909]   INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: WARNING: Please consider reporting this to the maintainers of com.intellij.util.ReflectionUtil 
2021-02-08 09:10:26,197 [ 284909]   INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations 
2021-02-08 09:10:26,197 [ 284909]   INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: WARNING: All illegal access operations will be denied in a future release 
2021-02-08 09:10:29,381 [ 288093]   INFO - rationStore.ComponentStoreImpl - Saving Project(name=TestNGTemplateProject, containerState=COMPONENT_CREATED, componentStore=C:\Users\customname\IdeaProjects\customname-project-automated-tests)Kotlin2JvmCompilerArguments took 20 ms 

【问题讨论】:

  • 我必须补充一点,运行测试类工作得很好——测试已经执行。
  • 能否使用log files查看是否有更多相关错误信息?可能是堆栈跟踪..
  • 感谢您的回复 Alexey :] 我已将堆栈跟踪添加到问题中。
  • 好的,我找到了错误的根源,但我不知道为什么这不起作用。在 TestNG 运行配置中有一个“参数”选项卡,其中包含“属性文件:”字段,我在其中指定了“.properties”文件的路径。此文件包含我的测试类中的“@Parameters”注释使用的属性。 “无法解析套件:InputStream 不能为空”错误仅在指定属性路径并且我运行 XML 文件时发生。
  • 来源是什么?

标签: java intellij-idea xml-parsing testng


【解决方案1】:

:从 IntelliJ 中的 Run configration 中删除自定义参数/属性文件,并在 XML 文件中添加所有需要的参数。

对我来说,问题是我有一个自定义的默认 TestNG 配置,其中预配置了一些参数。这似乎不适用于 TestNG XML 文件。

道具:Gafi 的comment 给我最后的提示。

【讨论】:

  • 就像我在评论中所说:“只有在指定属性路径并且我运行 XML 文件时才会发生错误。”所以是的 - 从该部分删除数据会导致错误不出现。问题是这个解决方案(用于 testng.xml 的属性文件)过去有效,并且在一些 IntelliJ IDEA 更新后它已经改变。截至今天和版本 2021.1(内部版本 #IC-211.6693.111)它不起作用。
  • 我将此问题报告给 JetBrains 支持:youtrack.jetbrains.com/issue/IDEA-262685 他们无法最终重现该问题,但添加了日志记录。应该与构建 212.261 一起到达。
  • @Gafi 我只是将其添加为答案以使其更加明显,必须通过问题 cmets 找到“解决方案”。顺便提一句。由于缺少某些信息,您的票目前已关闭。
  • 当然,我不是粗鲁的:] 工单是由我联系的支持人员创建的。它已自动关闭,因为他们无法重现该问题。就像我说的,额外的日志记录将在未来的构建中可用。
猜你喜欢
  • 2020-06-10
  • 2013-05-31
  • 1970-01-01
  • 1970-01-01
  • 2021-02-15
  • 2016-07-07
  • 2012-05-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多