Hi Marc,
meanwhile I've convinced the admins to support JDK1.5 on my test-
environment too.
Neverhteless still tests heavily depending on regular expression or
verifyLink-Steps are resutling
in heavy loads - from time to time the test stops and remains with a
high cpu-usage.
For example this test(multiple files):
It's purpose is to test if a given list of SEO-tags haven been set
accordingly:
DeepcheckSEO.xml:
<?xml version="1.0"?>
<!DOCTYPE project [
<!ENTITY moduleDefinition SYSTEM "file:./modules/DeepcheckSEO.xml">
]>
<project name="LanguageIndependentUseCase" default="main" basedir=".">
<property name="webtest.home" location="/opt/CanooWebTest" />
<import file="${webtest.home}/lib/taskdef.xml"/>
<import file="${webtest.home}/webtest.xml"/>
<property name="webtest.input.newGrantApplication.callNumber"
value="017" />
<property name="webtest.input.newGrantApplication.callYear"
value="2104" />
<property name="webtest.input.newGrantApplication.email"
value="[EMAIL PROTECTED]" />
<property name="webtest.truststore.passphrase"
value="changeit" />
<property name="webtest.connectioninitializer"
value="com.canoo.webtest.security.SunJsseBaseConnectionInitializer"/>
<property name="webtest.truststore.file" value="/usr/lib/java/
jre/lib/security/cacerts" />
<property name="wt.resultpath" location="./webtest-results" />
<property name="wt.resultfile" value="resultfile.xml" />
<property name="wt.config.resultpath" value="./webtest-
results"/>
<target name="main" depends="SEOTesting,wt.htmlReports" />
<target name="SEOTesting">
<webtest name="Invoke different landingpags and check
keywords">
<config
saveresponse="true"
autorefresh="true"
errorproperty="webtest.home"
resultpath="./webtest-results"
resultfile="resultfile.xml"
haltonerror="false"
haltonfailure="false"
summary="true"
port="80"
protocol="http"
basepath=""
host="${site.url}"
timeout="0" >
<header name="User-Agent" value="Mozilla/5.0
(Windows; U; Windows NT 5.1; de; rv:1.8) Gecko/20051111 Firefox/1.5" />
<header name="Accept-Language" value="de-
de"/>
</config>
<steps>
<enableJavaScript
description="Enable JavaScript"
enable="false" />
&moduleDefinition;
</steps>
</webtest>
</target>
</project>
modules/DeepcheckSEO.xml:
<invoke
description="Invoke http://www.gameduell.de/gd/i03.do?playrule=tau
"
url="http://www.gameduell.de/gd/i03.do?playrule=tau"/>
<verifyText
description="Verify Title"
text="TauschRausch online spielen kostenlos."
regex="true"/>
<verifyText
description="Verify Description"
text="Reaktionsschnell\? Dann spielen Sie jetzt Tauschrausch
online bei GameDuell. Bilden Sie durch Vertauschen Ketten mit 3, 4
oder 5 gleichen Steinen und gewinnen Sie bares Geld."
regex="true"/>
<verifyText
description="Verify Keywords"
text="TauschRausch, TauschRausch online, TauschRausch
kostenlos online spielen"
regex="true"/>
<invoke
description="Invoke http://www.gameduell.de/gd/i03.do?playrule=rsq
"
url="http://www.gameduell.de/gd/i03.do?playrule=rsq"/>
<verifyText
description="Verify Title"
text="Reise-Quiz online spielen kostenlos."
regex="true"/>
<verifyText
description="Verify Description"
text="Reise-Quiz online spielen. Spielen Sie das Reise-Quiz
kostenlos bei GameDuell und testen Sie Ihr Wissen gegen echte Gegner
und gewinnen echte Gewinne."
regex="true"/>
.... and so on, around 400 steps for this one (is generated autmatic).
This tests runs fast in the beginning, after a couple of steps it
stops with a heavy load,
after some minutes to some hours it continues.cd
This is the result of running webTest with the diagnostics-parameter:
webtest.sh -diagnostics -f DeepcheckPortalSiteInternational.xml
Will use /opt/jdk1.5.0_09//bin/java
------- Ant diagnostics report -------
Apache Ant version 1.6.5 compiled on June 2 2005
-------------------------------------------
Implementation Version (JDK1.2+ only)
-------------------------------------------
core tasks : 1.6.5
optional tasks : 1.6.5
-------------------------------------------
ANT_HOME/lib jar listing
-------------------------------------------
ant.home: /opt/CanooWebTest
activation-1.1.jar (62983 bytes)
js-1.6R5.jar (708951 bytes)
dom4j-1.6.1.jar (313898 bytes)
pdfbox-0.7.3-dev-log4j-20060612.jar (3252668 bytes)
xmlParserAPIs-2.2.1.jar (83089 bytes)
webtest_T.jar (595883 bytes)
poi-2.5.1-patched-20060410.jar (801992 bytes)
pdfUnit-1.2-dev-20060623.jar (118966 bytes)
ant-junit-1.6.5.jar (74237 bytes)
oro-2.0.6.jar (65368 bytes)
groovy-all-1.0.jar (2356373 bytes)
jemmy-20040604.jar (1718811 bytes)
ant-launcher.jar (9180 bytes)
ant-nodeps-1.6.5.jar (421008 bytes)
ant-trax-1.6.5.jar (68841 bytes)
mail-1.4.jar (388864 bytes)
ant-1.6.5.jar (1034049 bytes)
xml-apis-1.3.02.jar (194205 bytes)
nekohtml-0.9.5.jar (105672 bytes)
ant-apache-bsf-1.6.5.jar (12597 bytes)
bsf-2.4.0.jar (113369 bytes)
webtest.jar (470679 bytes)
junit-3.8.2.jar (120640 bytes)
jdom-1.0.jar (153253 bytes)
commons-lang-2.2.jar (243016 bytes)
fontbox-0.1.0-dev-patched-20060622.jar (63262 bytes)
commons-httpclient-3.0.1.jar (279781 bytes)
log4j-1.2.14.jar (367444 bytes)
commons-collections-3.2.jar (571259 bytes)
jaxen-1.1.jar (226529 bytes)
xercesImpl-2.6.2.jar (1010675 bytes)
commons-codec-1.3.jar (46725 bytes)
commons-logging-1.1.jar (52915 bytes)
commons-io-1.3.jar (83619 bytes)
htmlunit-1.13.jar (450127 bytes)
-------------------------------------------
Tasks availability
-------------------------------------------
p4reopen : Not Available
image : Not Available
sshexec : Not Available
wlrun : Not Available
p4label : Not Available
p4revert : Not Available
icontract : Not Available
p4submit : Not Available
scp : Not Available
p4change : Not Available
p4delete : Not Available
p4integrate : Not Available
vajload : Not Available
rexec : Not Available
stlist : Not Available
telnet : Not Available
p4sync : Not Available
p4edit : Not Available
maudit : Not Available
antlr : Not Available
netrexxc : Not Available
ftp : Not Available
p4resolve : Not Available
starteam : Not Available
stylebook : Not Available
stlabel : Not Available
splash : Not Available
p4have : Not Available
jdepend : Not Available
stcheckin : Not Available
vajexport : Not Available
stcheckout : Not Available
p4labelsync : Not Available
ejbc : Not Available
vajimport : Not Available
p4fstat : Not Available
wlstop : Not Available
p4counter : Not Available
sound : Not Available
p4add : Not Available
ddcreator : Not Available
-------------------------------------------
org.apache.env.Which diagnostics
-------------------------------------------
Not available.
Download it at http://xml.apache.org/commons/
-------------------------------------------
XML Parser information
-------------------------------------------
XML Parser : org.apache.xerces.jaxp.SAXParserImpl
XML Parser Location: /opt/CanooWebTest/lib/xercesImpl-2.6.2.jar
-------------------------------------------
System properties
-------------------------------------------
java.runtime.name : Java(TM) 2 Runtime Environment, Standard Edition
sun.boot.library.path : /opt/jdk1.5.0_09/jre/lib/i386
java.vm.version : 1.5.0_09-b01
ant.library.dir : /opt/CanooWebTest/lib
java.vm.vendor : Sun Microsystems Inc.
java.vendor.url : http://java.sun.com/
path.separator : :
java.vm.name : Java HotSpot(TM) Server VM
file.encoding.pkg : sun.io
user.country : US
sun.os.patch.level : unknown
java.vm.specification.name : Java Virtual Machine Specification
user.dir : /var/www/GDAutoTest/webTests
java.runtime.version : 1.5.0_09-b01
java.awt.graphicsenv : sun.awt.X11GraphicsEnvironment
java.endorsed.dirs : /opt/jdk1.5.0_09/jre/lib/endorsed
os.arch : i386
java.io.tmpdir : /tmp
line.separator :
java.vm.specification.vendor : Sun Microsystems Inc.
os.name : Linux
ant.home : /opt/CanooWebTest
log4j.configuration : file:////opt/CanooWebTest/lib/log4j.properties
sun.jnu.encoding : ANSI_X3.4-1968
java.library.path : /opt/jdk1.5.0_09/jre/lib/i386/server:/opt/
jdk1.5.0_09/jre/lib/i386:/opt/jdk1.5.0_09/jre/../lib/i386:/opt/lib:/
opt/postgresql/lib:/usr/local/lib
java.specification.name : Java Platform API Specification
java.class.version : 49.0
sun.management.compiler : HotSpot Server Compiler
os.version : 2.6.18-028stab027
user.home : /opt/gd
user.timezone :
java.awt.printerjob : sun.print.PSPrinterJob
file.encoding : ANSI_X3.4-1968
java.specification.version : 1.5
user.name : gd
java.class.path : /opt/CanooWebTest/lib/ant-launcher.jar:/opt/
CanooWebTest/lib/build:/opt/CanooWebTest/lib/build/clover.jar:/opt/
CanooWebTest/lib/activation-1.1.jar:/opt/CanooWebTest/lib/
js-1.6R5.jar:/opt/CanooWebTest/lib/dom4j-1.6.1.jar:/opt/CanooWebTest/
lib/pdfbox-0.7.3-dev-log4j-20060612.jar:/opt/CanooWebTest/lib/
xmlParserAPIs-2.2.1.jar:/opt/CanooWebTest/lib/webtest_T.jar:/opt/
CanooWebTest/lib/poi-2.5.1-patched-20060410.jar:/opt/CanooWebTest/lib/
pdfUnit-1.2-dev-20060623.jar:/opt/CanooWebTest/lib/ant-
junit-1.6.5.jar:/opt/CanooWebTest/lib/oro-2.0.6.jar:/opt/CanooWebTest/
lib/groovy-all-1.0.jar:/opt/CanooWebTest/lib/jemmy-20040604.jar:/opt/
CanooWebTest/lib/ant-launcher.jar:/opt/CanooWebTest/lib/ant-
nodeps-1.6.5.jar:/opt/CanooWebTest/lib/ant-trax-1.6.5.jar:/opt/
CanooWebTest/lib/mail-1.4.jar:/opt/CanooWebTest/lib/ant-1.6.5.jar:/opt/
CanooWebTest/lib/xml-apis-1.3.02.jar:/opt/CanooWebTest/lib/
nekohtml-0.9.5.jar:/opt/CanooWebTest/lib/ant-apache-bsf-1.6.5.jar:/opt/
CanooWebTest/lib/bsf-2.4.0.jar:/opt/CanooWebTest/lib/webtest.jar:/opt/
CanooWebTest/lib/junit-3.8.2.jar:/opt/CanooWebTest/lib/jdom-1.0.jar:/
opt/CanooWebTest/lib/commons-lang-2.2.jar:/opt/CanooWebTest/lib/
fontbox-0.1.0-dev-patched-20060622.jar:/opt/CanooWebTest/lib/commons-
httpclient-3.0.1.jar:/opt/CanooWebTest/lib/log4j-1.2.14.jar:/opt/
CanooWebTest/lib/commons-collections-3.2.jar:/opt/CanooWebTest/lib/
jaxen-1.1.jar:/opt/CanooWebTest/lib/xercesImpl-2.6.2.jar:/opt/
CanooWebTest/lib/commons-codec-1.3.jar:/opt/CanooWebTest/lib/commons-
logging-1.1.jar:/opt/CanooWebTest/lib/commons-io-1.3.jar:/opt/
CanooWebTest/lib/htmlunit-1.13.jar:/opt/jdk1.5.0_09/lib/tools.jar
java.vm.specification.version : 1.0
sun.arch.data.model : 32
java.home : /opt/jdk1.5.0_09/jre
java.specification.vendor : Sun Microsystems Inc.
user.language : en
java.vm.info : mixed mode
java.version : 1.5.0_09
java.ext.dirs : /opt/jdk1.5.0_09/jre/lib/ext
sun.boot.class.path : /opt/jdk1.5.0_09/jre/lib/rt.jar:/opt/jdk1.5.0_09/
jre/lib/i18n.jar:/opt/jdk1.5.0_09/jre/lib/sunrsasign.jar:/opt/
jdk1.5.0_09/jre/lib/jsse.jar:/opt/jdk1.5.0_09/jre/lib/jce.jar:/opt/
jdk1.5.0_09/jre/lib/charsets.jar:/opt/jdk1.5.0_09/jre/classes
java.vendor : Sun Microsystems Inc.
file.separator : /
java.vendor.url.bug : http://java.sun.com/cgi-bin/bugreport.cgi
sun.cpu.endian : little
sun.io.unicode.encoding : UnicodeLittle
sun.cpu.isalist :
You've asked if I had webTest already run within a debugger - I don't
know exactly how to achieve this.. a bit of hep would be appreciated ._)
Thank you in advance,
Cheers,
Alexander Mannsfeld
Am 01.02.2008 um 13:00 schrieb Marc Guillemot:
Hallo,
you seem to have captured the main thread executing a verifyText. Is
it
just a coincidence or does it stay there when you look at it later?
Have you tried to run the test within a debugger to locate the problem
place?
Personally I've encountered problems with some regular expressions on
large text with Java 6 which didn't occur with Java 5 and resulting
with
StackOverflow. Perhaps an idea to follow?
Cheers,
Marc.
--
Blog: http://mguillem.wordpress.com
Alexander Mannsfeld wrote:
Hi,
meanwhile I've got a problem with webTest's performance too.
At first I've thought that R1656 may solve my problem - it doesn't.
When running R1656 after some steps the tests pauses while Java's CPU
load is going up to 90%; it stops for a while, sometimes forever,
sometimes it continues(also whhen using stable 2.5).
I've used "jstack -l" on the corresponding process(running a simple
webtest, invoke, verify text, invoke, verify text ....) after
around the
first 20 steps it stops(using out of the box 1656, this is the
result:
----
2008-01-30 18:40:58
Full thread dump Java HotSpot(TM) Client VM (1.6.0_02-b05 mixed mode,
sharing):
"Attach Listener" daemon prio=10 tid=0x08186800 nid=0x38f1 runnable
[0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"MultiThreadedHttpConnectionManager cleanup" daemon prio=10
tid=0xb5280000 nid=0x374a in Object.wait() [0xb51b5000..0xb51b60c0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x81576b20> (a java.lang.ref.ReferenceQueue
$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:
116)
- locked <0x81576b20> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:
132)
at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager
$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:
1122)
Locked ownable synchronizers:
- None
"Low Memory Detector" daemon prio=10 tid=0x0808d800 nid=0x3748
runnable
[0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"CompilerThread0" daemon prio=10 tid=0x0808c000 nid=0x3747 waiting on
condition [0x00000000..0xb5981ad8]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Signal Dispatcher" daemon prio=10 tid=0x0808ac00 nid=0x3746 runnable
[0x00000000..0xb59d2ba0]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Finalizer" daemon prio=10 tid=0x08081c00 nid=0x3745 in Object.wait()
[0xb5a69000..0xb5a69f40]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x81419700> (a java.lang.ref.ReferenceQueue
$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:
116)
- locked <0x81419700> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:
132)
at java.lang.ref.Finalizer
$FinalizerThread.run(Finalizer.java:159)
Locked ownable synchronizers:
- None
"Reference Handler" daemon prio=10 tid=0x08080800 nid=0x3744 in
Object.wait() [0xb5aba000..0xb5abadc0]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x81419790> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference
$ReferenceHandler.run(Reference.java:116)
- locked <0x81419790> (a java.lang.ref.Reference$Lock)
Locked ownable synchronizers:
- None
"main" prio=10 tid=0x08058800 nid=0x3742 runnable
[0xb7dd5000..0xb7dd6218]
java.lang.Thread.State: RUNNABLE
at java.util.regex.Pattern$CharProperty.match(Pattern.java:
3345)
at java.util.regex.Pattern$Curly.match0(Pattern.java:3770)
at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
at java.util.regex.Pattern$Slice.match(Pattern.java:3482)
at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
at java.util.regex.Pattern$BnM.match(Pattern.java:4973)
at java.util.regex.Matcher.search(Matcher.java:1105)
at java.util.regex.Matcher.find(Matcher.java:535)
at
com
.canoo
.webtest
.engine.RegExStringVerifier.verifyStrings(RegExStringVerifier.java:
28)
at
com
.canoo
.webtest
.steps
.verify
.AbstractVerifyTextStep.verifyStrings(AbstractVerifyTextStep.java:61)
at
com
.canoo
.webtest
.steps
.verify
.AbstractVerifyTextStep.verifyText(AbstractVerifyTextStep.java:65)
at
com
.canoo
.webtest
.steps.verify.VerifyText.isExpectedStringPresent(VerifyText.java:83)
at
com.canoo.webtest.steps.verify.VerifyText.doExecute(VerifyText.java:
56)
at com.canoo.webtest.steps.Step.execute(Step.java:101)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at
com
.canoo
.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.java:43)
at
com
.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:
31)
at com.canoo.webtest.steps.Step.execute(Step.java:101)
at org.apache.tools.ant.Task.perform(Task.java:364)
at
com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:204)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:
1185)
at
org
.apache
.tools
.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.apache.tools.ant.Project.executeTargets(Project.java:
1068)
at org.apache.tools.ant.Main.runBuild(Main.java:668)
at org.apache.tools.ant.Main.startAnt(Main.java:187)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
Locked ownable synchronizers:
- None
"VM Thread" prio=10 tid=0x08077400 nid=0x3743 runnable
"VM Periodic Task Thread" prio=10 tid=0x0808f400 nid=0x3749 waiting
on
condition
JNI global references: 657
----
I'm kind of clueless right now where the problem could be.
Btw, it happens all over the different tests I've created, even the
really minimalistic verifyLinks stops after some seconds.
Thank you in advance,
cheers,
Alexander
Alexander Mannsfeld
Quality Assurance
GD GameDuell GmbH
Ackerstrafle 14/15, 10115 Berlin
( +49 (0)30 288 768 811
+ +49 (0)30 288 768 299
[EMAIL PROTECTED]
Richtig spielen: www.gameduell.de
---
Firmensitz: Berlin,
Deutschland|Handelsregister: Amtsgericht Berlin-Charlottenburg, HRB
Nr.
90891|USt-Id-Nr.: DE 813829498, Steuernummer: 37 / 225 /
20926|Verantwortliche Geschäftsführer: Kai Bolik | Michael
Kalkowski |
Boris Wasmuth
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest
Alexander Mannsfeld
Quality Assurance
GD GameDuell GmbH
Ackerstrafle 14/15, 10115 Berlin
( +49 (0)30 288 768 811
+ +49 (0)30 288 768 299
[EMAIL PROTECTED]
Richtig spielen: www.gameduell.de
---
Firmensitz: Berlin,
Deutschland|Handelsregister: Amtsgericht Berlin-Charlottenburg, HRB Nr.
90891|USt-Id-Nr.: DE 813829498, Steuernummer: 37 / 225 /
20926|Verantwortliche Geschäftsführer: Kai Bolik | Michael Kalkowski
| Boris Wasmuth
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest