ant - 运行easyb\selenium时出现permgen错误

标签 ant selenium jenkins gradle easyb

我正在玩6种技术

easyB

Gradle
Ant
java
Jenkins

我们使用 easyB 编写方案
这些场景依次调用 Selenium
最后,我们使用 Gradle 启动所有故事。
而且由于我们没有easyB的gradle插件,因此gradle确实使用来运行easyB。

这个Gradle脚本最终通过 Jenkins 作业执行

整个执行过程大约需要 3-4小时
中途,我们收到烫发错误

我不确定,哪个进程需要在PermGen中增加

EasyB?
Ant ?
Gradle ?

错误消息
[ant:easyb]重试值现在是:2
[ant:easyb] objectID设置为:60868
[ant:easyb]创建subjectID 60868后中断
[ant:easyb]创建访问>>>>>>预处理
[ant:easyb]创建镜像组>>>>>> auto-gp1
[ant:easyb]运行您的easyb故事或规范时出错
[ant:easyb] java.lang.OutOfMemoryError:PermGen空间
[ant:easyb] easyb执行失败

失败:生成失败,发生异常。

Gradle脚本

check << {
    def script = new GroovyShell()
    script.run(new File('InitializeReport.groovy'))

    ant.taskdef(name: "easyb", classname:"org.easyb.ant.BehaviorRunnerTask", classpath: sourceSets.test.runtimeClasspath.asPath)

    ant.easyb( classpath: sourceSets.test.runtimeClasspath.asPath, failureProperty:'easyb_failed' ,tags:tags) {
        report( location:"${project.testResultsDir}/story."+format, format:format )
        behaviors( dir: storiesHome ) {
            include( name:storyToBeExecuted )
        }
   }

    ant.fail( if:'easyb_failed', message: 'Failures in easyb stories' )
}

这就是我在Jenkins控制台上看到的
注意-内存选项如何传递给Gradle命令,而不是传递给运行easyB脚本的Java命令?
那是我认为的问题是...

[jenkins @ bil-dev-006v bin] $ ps -ef | grep gradle

Jenkins 18420 4714 9 23:04 00:00:16 /usr/java/jdk1.6.0_20/bin/java -XX:MaxPermSize = 700m -Xmx512m -XX:MaxPermSize = 800m -Xmx512m -classpath /opt/jenkins/gradle-1.0-milestone-1 /lib/gradle-launcher-1.0-milestone-1.jar -Dorg.gradle.appname = gradle org.gradle.launcher.GradleMain -PstoryName = -PstoriesHome =检查-info

Jenkins 18579 18420 13 23:04 00:00:21 /usr/java/jdk1.6.0_20/jre/bin/java -classpath / jenkins / jobs / helium-complete-run / workspace / trunk / build / classes / main:/ jenkins / jobs / helium- complete-run / workspace / trunk / lib / commons-lang-2.4.jar:/jenkins/jobs/helium-complete-run/workspace/trunk/lib/httpclient-4.1.1.jar:/ jenkins / jobs / helium- complete-run / workspace / trunk / lib / xml-apis.jar:/jenkins/jobs/helium-complete-run/workspace/trunk/lib/activation.jar:/ jenkins / jobs / helium-complete-run / workspace / trunk / lib / xercesSamples.jar:/jenkins/jobs/helium-complete-run/workspace/trunk/lib/safe-client.jar:/ jenkins / jobs / helium-complete-run / workspace / trunk / lib / security。 jar:/jenkins/jobs/helium-complete-run/workspace/trunk/lib/json-lib-2.4-jdk15.jar:/ jenkins / jobs / helium-complete-run / workspace / trunk / lib / http-builder- 0.5.1.jar:/jenkins/jobs/helium-complete-run/workspace/trunk/lib/safe-import.jar:/jenkins/jobs/helium-complete-run/workspace/trunk/lib/mail.jar: /jenkins/jobs/helium-complete-run/workspace/trunk/lib/ojdbc14.jar:/jenkins/jobs/helium-complet电子运行/工作区/树干/lib/httpcore-4.1.jar:/jenkins/jobs/helium-complete-run/workspace/trunk/lib/xercesImpl.jar:/jenkins/jobs/helium-complete-run/workspace/ trunk / lib / cacher.jar:/jenkins/jobs/helium-complete-run/workspace/trunk/lib/serializer.jar:/jenkins/jobs/helium-complete-run/workspace/trunk/lib/resolver.jar: /jenkins/jobs/helium-complete-run/workspace/trunk/lib/cache-verifier.jar:/opt/jenkins/.gradle/cache/org.easyb/easyb/jars/easyb-0.9.7.jar:/ opt / jenkins / .gradle / cache / commons-cli / commons-cli / jars / commons-cli-1.1.jar:/opt/jenkins/.gradle/cache/org.codehaus.groovy/groovy-all/jars/groovy -all-1.7.2.jar:/opt/jenkins/.gradle/cache/org.seleniumhq.selenium.client-drivers/selenium-java-client-driver/jars/selenium-java-client-driver-1.0.1 .jar:/opt/jenkins/.gradle/cache/log4j/log4j/bundles/log4j-1.2.16.jar:/opt/jenkins/.gradle/cache/org.codehaus.groovy/groovy/jars/groovy-1.8 .2.jar:/opt/jenkins/.gradle/cache/antlr/antlr/jars/antlr-2.7.7.jar:/opt/jenkins/.gradle/cache/asm/asm/asm/jars/asm-3.2.jar :/ opt / jenkins / .gradle / cache / asm / asm-commons / jars / asm-commons-3.2.jar:/opt/jenkins/.gradle/cache/asm/asm-tree/jars/asm-tree-3.2.jar :/opt/jenkins/.gradle/cache/asm/asm-util/jars/asm-util-3.2.jar:/opt/jenkins/.gradle/cache/asm/asm-analysis/jars/asm-analysis-3.2 .jar org.easyb.BehaviorRunner -outfail failed.txt -html /jenkins/jobs/helium-complete-run/workspace/trunk/build/test-results/storycaseassigment_inter-intra.html / jenkins / jobs / helium-complete-run /workspace/trunk/src/test/stories/caseassigment/inter-intra/ca_interintra.story

最佳答案

您需要增加perm gen空间,可以通过在VM设置中设置max参数来实现。在命令行上,使用以下选项启动Java:

-XX:MaxPermSize=128m



另请参阅:http://www.freshblurbs.com/explaining-java-lang-outofmemoryerror-permgen-space

关于ant - 运行easyb\selenium时出现permgen错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8945011/

相关文章:

xml - 使用xpath在svg下找到第n个 child

jenkins - Docker 不会将数据保存在主机安装的卷中

java - 是否可以将自定义 list 添加到在 Netbeans 6.7.1 中编译的 Java 库?

java - 为什么<jvmarg value ="-version"/>会禁用打印输出

selenium - 此版本的 ChromeDriver 尚未通过 facebook/php-webdriver 使用 Selenium ChromeDriver 和 Chrome 测试 Chrome 版本 75 错误

jenkins - 修改 jenkins master 中的 PATH 变量

jenkins - 如何自定义 Jenkins 归档工件插件后构建操作的文件名?

java - 使用 Maven Ant 任务执行 jetty stop 时未授予权限 (java.lang.RuntimePermission exitVM)

java - 如何将主机和端口参数传递给 ant 以供 Java 主函数使用

selenium - 我想将给定的 Xpath 转换为 CSS