当前位置: 首页 > 知识库问答 >
问题:

“java.lang.OutOfMemoryError”每当我在jenkins中运行一个特殊的testng套件文件时,就会出现这个错误

仲孙毅
2023-03-14

我们的是maven项目,我们的框架是以这样一种方式设计的,整个项目将在测试环境[虚拟Linux机]中检出,从那里maven命令将与提到的套件文件一起执行。

作为一个初学者,我不明白这个特殊的套件会因为以下错误而失败

java.lang.OutOfMemoryError:无法在java.lang.Thread.start0(本机方法)java.lang.Thread.start(Thread.java:714)com.jcraft.jsch.U<-插座(til.java:372)com.jcraft.jsch.ession.connect(ession.java:215)

套房文件是

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="test" verbose="10">
    <parameter name="component" value="run" />
    <parameter name="testtype" value="sanity" />
    <listeners>
        <listener class-name="class" />
    </listeners>


     <test name="testa" time-out="5400000">

        <classes>
            <class name="classa " />
        </classes>
    </test>

    <test name="testb" time-out="3600000">
    <classes>
    <class name="classb"/>
    </classes>
    </test>

    <test name="testc" >

        <classes>
            <class name="classc" />

        </classes>
        </test> 

    <test name="testd">
        <classes>
            <class name="classdd>

            </class>
        </classes>
    </test>

</suite>

[由于数据隐私,我将其重命名为classa和testa]

请告诉我,他们有什么我必须在maven选项中修改或包含在套件文件中的东西,或者在jenkins中修改的东西吗?请告诉我。

共有1个答案

葛宪
2023-03-14

您可能在测试执行期间耗尽了一些系统资源。由于达到文件打开描述符限制或每个用户运行的进程数,可能会出现此错误消息。虽然这是一个非常广泛的问题,但这些链接可以指导您完成故障排除过程:

詹金斯极限:乌利米特在*尼克斯

谷歌集团也讨论了类似的问题

Java无法创建新的本地线程的解释

 类似资料:
  • 错误:任务“:app:DexDebug”执行失败。 com.android.ide.common.internal.loggederrorexception:无法运行命令:d:\sdk\build-tools\22.0.1\dx.bat--dex--no-optimize--output d:\projects\projects-android\jetfigers\app\build\interm

  • 我有一个maven项目,有3个TestNG套件和4个测试类,我想在jenkins中运行一个特定的套件,我搜索了很多,但只找到了一个命令放在goal来指定特定的套件,但当我这样做时,它也会运行所有其他套件。我被困在这里很长时间了,请引导我完成这个过程。我还想知道是否有任何设置我可以这样做,如果我选择一个套件运行,我可以运行该套件的任何特定类。我已附上我的项目结构在这里的形象,任何输入将不胜感激。谢谢

  • AMQ6235E:缺少目录“H:”。 我无法找到解决这个问题的方法,它正在连接队列,它显示了这个错误。我不能公开我运行的代码,但我可以解释节点脚本将做什么,首先尝试连接队列管理器,然后尝试通道名,主机名,端口名,这里问题是当它需要建立连接而不是得到上面的错误

  • 我想在aws-device场中运行一个TestNG xml套件文件。经过调查,我得出结论,aws-device场执行TestNG测试的方式是以随机顺序运行所有用TestNG注释(在上传到设备场的zip文件项目中)注释的测试。这在我的项目中并不适用,因为所有的测试都使用在我的xml套件文件中声明的参数,而且套件文件还声明了测试应该运行的顺序。因此,我无法运行任何测试,因为第一次测试尝试使用在test

  • 主套房.java 对于每个测试套件,都有包含@Test的类 例如 TestSuite1.java TestClass1.java 所以我的问题是如何运行TestSuite1、TestSuite2