我有 6 种技术在玩
easyB Selenium Gradle Ant Java Jenkins
我们使用easyB编写场景
这些场景依次调用Selenium
最后我们使用Gradle启动所有故事。而且由于我们没有easyB的gradle插件,所以gradle确实使用ant来运行easyB。
这个 Gradle 脚本最终通过Jenkins作业执行
完整的执行大约需要3-4 小时。进行到一半,我们得到一个perm-gen 错误
我不确定哪个过程需要增加PermGen
易B?蚂蚁?摇篮?
错误信息
[ant:easyb] retry value is now: 2
[ant:easyb] objectID is set to: 60868
[ant:easyb] break after created subjectID 60868
[ant:easyb] Creating visit>>>>>>预处理
[ ant:easyb] 创建图像组>>>>>>auto-gp1
[ant:easyb] 运行您的 easyb 故事或规范时出错
[ant:easyb] java.lang.OutOfMemoryError: PermGen space
[ant:easyb] easyb执行失败
FAILURE:构建失败并出现异常。
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
詹金斯 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
詹金斯 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-完整运行/workspace/trunk/lib/commons-lang-2.4.jar:/jenkins/jobs/helium-complete-run/workspace/trunk/lib/httpclient-4.1.1.jar:/jenkins/jobs/helium-完整运行/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: