[Webtest] Canoo 1.6 Javascript issue
relfen
webtest@lists.canoo.com
Thu, 21 Apr 2005 11:01:33 -0700
------=_Part_619_22656119.1114106493810
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
I'm working with several pages that have dynamic listbox option values. In=
=20
order to work around this I am using javascript to do a=20
document.getElementById() call. If I place the javascript in the html and=
=20
test it, it works fine. However, using scriptstep inside canoo, the value=
=20
returned to my variable when calling getElementById are returned as NULL.=
=20
Has anyone else encounted this problem? If so is there a workaround? I=20
couldn't find much in my search so if I missed an obvious thread I=20
apoligize. I am open to other suggestions on how to best return the value o=
f=20
a specific listbox option as well if anyone has done this.
Below is the output from my test:
Buildfile: TestDocument.xml
Trying to override old definition of task sleep
main:
[testSpec] INFO (Step.java:233) - Start Step: null "[implict setup step]"=
=20
(1/5)
[testSpec] INFO (Step.java:233) - Start Step: invoke "Loading Test URL"=20
(2/5)
[testSpec] INFO (Target.java:144) - -> gotoTarget(by url):=20
http://host:80/policy.html
[testSpec] INFO (Context.java:186) - Current form set to none
[testSpec] INFO (Step.java:233) - Start Step: scriptstep "Grabbing listbox=
=20
element value" (3/5)
[testSpec] ERROR (Step.java:370) - Cannot handle unexpected exception in=20
step ScriptStep at C:\Program Files\Eclipse\w
rkspace\Criteria\TestDocument.xml:25: with (script=3D"
[testSpec]
[testSpec] var item =3D document.getElementById('validation');
[testSpec] var count;
[testSpec]
[testSpec] for(count=3D0; count<item.options.length; count++)
[testSpec] {
[testSpec] if(item.options[count].text =3D=3D "Credit Card")
[testSpec] {
[testSpec] project.setProperty("altvalue", item.options[count].value);
[testSpec] }
[testSpec] }
[testSpec]
[testSpec] ", stepId=3D"Grabbing listbox element value",=20
language=3D"javascript", stepType=3D"scriptstep")
[testSpec] TypeError: Cannot convert null to an object.
[testSpec] at org.apache.tools.ant.util.ScriptRunner.executeScript(
ScriptRunner.java:139)
[testSpec] at org.apache.tools.ant.taskdefs.optional.Script.execute(
Script.java:60)
[testSpec] at com.canoo.webtest.extension.ScriptStep.doExecute(
ScriptStep.java:53)
[testSpec] at com.canoo.webtest.steps.Step.execute(Step.java:118)
[testSpec] at com.canoo.webtest.engine.Engine.executeSteps(Engine.java:26)
[testSpec] at com.canoo.webtest.ant.TestSpecificationTask.execute(
TestSpecificationTask.java:68)
[testSpec] at org.apache.tools.ant.UnknownElement.execute(
UnknownElement.java:275)
[testSpec] at org.apache.tools.ant.Task.perform(Task.java:364)
[testSpec] at org.apache.tools.ant.Target.execute(Target.java:341)
[testSpec] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[testSpec] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[testSpec] at org.apache.tools.ant.Project.executeTargets(Project.java:1062=
)
[testSpec] at org.apache.tools.ant.Main.runBuild(Main.java:673)
[testSpec] at org.apache.tools.ant.Main.startAnt(Main.java:188)
[testSpec] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[testSpec] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
[testSpec] Caused by: TypeError: Cannot convert null to an object.
[testSpec] at org.mozilla.javascript.NativeGlobal.constructError(Unknown=20
Source)
[testSpec] at org.mozilla.javascript.NativeGlobal.constructError(Unknown=20
Source)
[testSpec] at org.mozilla.javascript.NativeGlobal.typeError0(Unknown Source=
)
[testSpec] at org.mozilla.javascript.ScriptRuntime.toObject(Unknown Source)
[testSpec] at org.mozilla.javascript.ScriptRuntime.toObject(Unknown Source)
[testSpec] at org.mozilla.javascript.ScriptRuntime.getProp(Unknown Source)
[testSpec] at org.mozilla.javascript.gen.c4.call(Unknown Source)
[testSpec] at org.mozilla.javascript.gen.c4.exec(Unknown Source)
[testSpec] at org.mozilla.javascript.Context.evaluateReader(Unknown Source)
[testSpec] at org.mozilla.javascript.Context.evaluateString(Unknown Source)
[testSpec] at org.apache.bsf.engines.javascript.JavaScriptEngine.eval(Unkno=
wn=20
Source)
[testSpec] at org.apache.bsf.util.BSFEngineImpl.exec(Unknown Source)
[testSpec] at org.apache.bsf.BSFManager$6.run(Unknown Source)
[testSpec] at java.security.AccessController.doPrivileged(Native Method)
[testSpec] at org.apache.bsf.BSFManager.exec(Unknown Source)
[testSpec] at org.apache.tools.ant.util.ScriptRunner.executeScript(
ScriptRunner.java:128)
[testSpec] ... 15 more
[testSpec] --- Nested Exception ---
[testSpec] TypeError: Cannot convert null to an object.
[testSpec] at org.mozilla.javascript.NativeGlobal.constructError(Unknown=20
Source)
[testSpec] at org.mozilla.javascript.NativeGlobal.constructError(Unknown=20
Source)
[testSpec] at org.mozilla.javascript.NativeGlobal.typeError0(Unknown Source=
)
[testSpec] at org.mozilla.javascript.ScriptRuntime.toObject(Unknown Source)
[testSpec] at org.mozilla.javascript.ScriptRuntime.toObject(Unknown Source)
[testSpec] at org.mozilla.javascript.ScriptRuntime.getProp(Unknown Source)
[testSpec] at org.mozilla.javascript.gen.c4.call(Unknown Source)
[testSpec] at org.mozilla.javascript.gen.c4.exec(Unknown Source)
[testSpec] at org.mozilla.javascript.Context.evaluateReader(Unknown Source)
[testSpec] at org.mozilla.javascript.Context.evaluateString(Unknown Source)
[testSpec] at org.apache.bsf.engines.javascript.JavaScriptEngine.eval(Unkno=
wn=20
Source)
[testSpec] at org.apache.bsf.util.BSFEngineImpl.exec(Unknown Source)
[testSpec] at org.apache.bsf.BSFManager$6.run(Unknown Source)
[testSpec] at java.security.AccessController.doPrivileged(Native Method)
[testSpec] at org.apache.bsf.BSFManager.exec(Unknown Source)
[testSpec] at org.apache.tools.ant.util.ScriptRunner.executeScript(
ScriptRunner.java:128)
[testSpec] at org.apache.tools.ant.taskdefs.optional.Script.execute(
Script.java:60)
[testSpec] at com.canoo.webtest.extension.ScriptStep.doExecute(
ScriptStep.java:53)
[testSpec] at com.canoo.webtest.steps.Step.execute(Step.java:118)
[testSpec] at com.canoo.webtest.engine.Engine.executeSteps(Engine.java:26)
[testSpec] at com.canoo.webtest.ant.TestSpecificationTask.execute(
TestSpecificationTask.java:68)
[testSpec] at org.apache.tools.ant.UnknownElement.execute(
UnknownElement.java:275)
[testSpec] at org.apache.tools.ant.Task.perform(Task.java:364)
[testSpec] at org.apache.tools.ant.Target.execute(Target.java:341)
[testSpec] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[testSpec] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[testSpec] at org.apache.tools.ant.Project.executeTargets(Project.java:1062=
)
[testSpec] at org.apache.tools.ant.Main.runBuild(Main.java:673)
[testSpec] at org.apache.tools.ant.Main.startAnt(Main.java:188)
[testSpec] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[testSpec] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
BUILD FAILED
C:\Program Files\Eclipse\workspace\Criteria\TestDocument.xml:10: Test=20
failed.
Exception raised: com.canoo.webtest.engine.StepExecutionException:=20
Unexpected exception caught: TypeError: Cannot conve
t null to an object., Step: ScriptStep at C:\Program=20
Files\Eclipse\workspace\Criteria\TestDocument.xml:25: with (scrip
=3D"
var item =3D document.getElementById('validation');
var count;
for(count=3D0; count<item.options.length; count++)
{
if(item.options[count].text =3D=3D "Credit Card")
{
project.setProperty("altvalue", item.options[count].value);
}
}
", stepId=3D"Grabbing listbox element value", language=3D"javascript",=20
stepType=3D"scriptstep")com.canoo.webtest.
ngine.StepExecutionException: Unexpected exception caught: TypeError: Canno=
t=20
convert null to an object., Step: ScriptSt
p at C:\Program Files\Eclipse\workspace\Criteria\TestDocument.xml:25: with=
=20
(script=3D"
var item =3D document.getElementById('validation');
var count;
for(count=3D0; count<item.options.length; count++)
{
if(item.options[count].text =3D=3D "Credit Card")
{
project.setProperty("altvalue", item.options[count].value);
}
}
", stepId=3D"Grabbing listbox element value", language=3D"javascript",=20
stepType=3D"scriptstep")
at com.canoo.webtest.steps.Step.handleUnexpectedException(Step.java:371)
at com.canoo.webtest.steps.Step.execute(Step.java:121)
at com.canoo.webtest.engine.Engine.executeSteps(Engine.java:26)
at com.canoo.webtest.ant.TestSpecificationTask.execute(
TestSpecificationTask.java:68)
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.executeTarget(Project.java:1214)
at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
at org.apache.tools.ant.Main.runBuild(Main.java:673)
at org.apache.tools.ant.Main.startAnt(Main.java:188)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
------=_Part_619_22656119.1114106493810
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
I'm working with several pages that have dynamic listbox option
values. In order to work around this I am using javascript to do
a document.getElementById() call. If I place the javascript in
the html and test it, it works fine. However, using scriptstep
inside canoo, the value returned to my variable when calling
getElementById are returned as NULL. Has anyone else encounted
this problem? If so is there a workaround? I couldn't find
much in my search so if I missed an obvious thread I apoligize. I
am open to other suggestions on how to best return the value of a
specific listbox option as well if anyone has done this.<br>
<br>
Below is the output from my test:<br>
<br>
<br>
<br>
Buildfile: TestDocument.xml<br>
Trying to override old definition of task sleep<br>
<br>
main:<br>
[testSpec] INFO (Step.java:233) - Start Step: null "[impli=
ct setup step]" (1/5)<br>
[testSpec] INFO (Step.java:233) - Start Step: invoke "Load=
ing Test URL" (2/5)<br>
[testSpec] INFO (Target.java:144) - -> gotoTarget(by url): <=
a href=3D"http://host:80/policy.html">http://host:80/policy.html</a><br>
[testSpec] INFO (Context.java:186) - Current form set to none<b=
r>
[testSpec] INFO (Step.java:233) - Start Step: scriptstep "=
Grabbing listbox element value" (3/5)<br>
[testSpec] ERROR (Step.java:370) - Cannot handle unexpected exception=
in step ScriptStep at C:\Program Files\Eclipse\w<br>
rkspace\Criteria\TestDocument.xml:25: with (script=3D"<br>
[testSpec]<br>
[testSpec]  =
;
var item =3D document.getElementById('validation');<br>
[testSpec]  =
;
var count;<br>
[testSpec]<br>
[testSpec]  =
; &n=
bsp;
for(count=3D0; count<item.options.length; count++)<br>
[testSpec]  =
; &n=
bsp;
{<br>
[testSpec]  =
; &n=
bsp;  =
;
if(item.options[count].text =3D=3D "Credit Card")<br>
[testSpec]  =
; &n=
bsp;  =
;
{<br>
[testSpec]  =
; &n=
bsp;  =
;
project.setProperty("altvalue", item.options[count].value);<br>
[testSpec]  =
; &n=
bsp;  =
;
}<br>
[testSpec]  =
; &n=
bsp;
}<br>
[testSpec]<br>
[testSpec]  =
;
", stepId=3D"Grabbing listbox element value", language=3D&qu=
ot;javascript",
stepType=3D"scriptstep")<br>
[testSpec] TypeError: Cannot convert null to an object.<br>
[testSpec] at org.apache.tools.ant.util.Scrip=
tRunner.executeScript(ScriptRunner.java:139)<br>
[testSpec] at org.apache.tools.ant.taskdefs.o=
ptional.Script.execute(Script.java:60)<br>
[testSpec] at com.canoo.webtest.extension.Scr=
iptStep.doExecute(ScriptStep.java:53)<br>
[testSpec] at com.canoo.webtest.steps.Step.ex=
ecute(Step.java:118)<br>
[testSpec] at com.canoo.webtest.engine.Engine=
.executeSteps(Engine.java:26)<br>
[testSpec] at com.canoo.webtest.ant.TestSpeci=
ficationTask.execute(TestSpecificationTask.java:68)<br>
[testSpec] at org.apache.tools.ant.UnknownEle=
ment.execute(UnknownElement.java:275)<br>
[testSpec] at org.apache.tools.ant.Task.perfo=
rm(Task.java:364)<br>
[testSpec] at org.apache.tools.ant.Target.exe=
cute(Target.java:341)<br>
[testSpec] at org.apache.tools.ant.Target.per=
formTasks(Target.java:369)<br>
[testSpec] at org.apache.tools.ant.Project.ex=
ecuteTarget(Project.java:1214)<br>
[testSpec] at org.apache.tools.ant.Project.ex=
ecuteTargets(Project.java:1062)<br>
[testSpec] at org.apache.tools.ant.Main.runBu=
ild(Main.java:673)<br>
[testSpec] at org.apache.tools.ant.Main.start=
Ant(Main.java:188)<br>
[testSpec] at org.apache.tools.ant.launch.Lau=
ncher.run(Launcher.java:196)<br>
[testSpec] at org.apache.tools.ant.launch.Lau=
ncher.main(Launcher.java:55)<br>
[testSpec] Caused by: TypeError: Cannot convert null to an object.<br=
>
[testSpec] at org.mozilla.javascript.NativeGl=
obal.constructError(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.NativeGl=
obal.constructError(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.NativeGl=
obal.typeError0(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.ScriptRu=
ntime.toObject(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.ScriptRu=
ntime.toObject(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.ScriptRu=
ntime.getProp(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.gen.c4.c=
all(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.gen.c4.e=
xec(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.Context.=
evaluateReader(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.Context.=
evaluateString(Unknown Source)<br>
[testSpec] at org.apache.bsf.engines.javascri=
pt.JavaScriptEngine.eval(Unknown Source)<br>
[testSpec] at org.apache.bsf.util.BSFEngineIm=
pl.exec(Unknown Source)<br>
[testSpec] at org.apache.bsf.BSFManager$6.run=
(Unknown Source)<br>
[testSpec] at java.security.AccessController.=
doPrivileged(Native Method)<br>
[testSpec] at org.apache.bsf.BSFManager.exec(=
Unknown Source)<br>
[testSpec] at org.apache.tools.ant.util.Scrip=
tRunner.executeScript(ScriptRunner.java:128)<br>
[testSpec] ... 15 more<br>
[testSpec] --- Nested Exception ---<br>
[testSpec] TypeError: Cannot convert null to an object.<br>
[testSpec] at org.mozilla.javascript.NativeGl=
obal.constructError(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.NativeGl=
obal.constructError(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.NativeGl=
obal.typeError0(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.ScriptRu=
ntime.toObject(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.ScriptRu=
ntime.toObject(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.ScriptRu=
ntime.getProp(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.gen.c4.c=
all(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.gen.c4.e=
xec(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.Context.=
evaluateReader(Unknown Source)<br>
[testSpec] at org.mozilla.javascript.Context.=
evaluateString(Unknown Source)<br>
[testSpec] at org.apache.bsf.engines.javascri=
pt.JavaScriptEngine.eval(Unknown Source)<br>
[testSpec] at org.apache.bsf.util.BSFEngineIm=
pl.exec(Unknown Source)<br>
[testSpec] at org.apache.bsf.BSFManager$6.run=
(Unknown Source)<br>
[testSpec] at java.security.AccessController.=
doPrivileged(Native Method)<br>
[testSpec] at org.apache.bsf.BSFManager.exec(=
Unknown Source)<br>
[testSpec] at org.apache.tools.ant.util.Scrip=
tRunner.executeScript(ScriptRunner.java:128)<br>
[testSpec] at org.apache.tools.ant.taskdefs.o=
ptional.Script.execute(Script.java:60)<br>
[testSpec] at com.canoo.webtest.extension.Scr=
iptStep.doExecute(ScriptStep.java:53)<br>
[testSpec] at com.canoo.webtest.steps.Step.ex=
ecute(Step.java:118)<br>
[testSpec] at com.canoo.webtest.engine.Engine=
.executeSteps(Engine.java:26)<br>
[testSpec] at com.canoo.webtest.ant.TestSpeci=
ficationTask.execute(TestSpecificationTask.java:68)<br>
[testSpec] at org.apache.tools.ant.UnknownEle=
ment.execute(UnknownElement.java:275)<br>
[testSpec] at org.apache.tools.ant.Task.perfo=
rm(Task.java:364)<br>
[testSpec] at org.apache.tools.ant.Target.exe=
cute(Target.java:341)<br>
[testSpec] at org.apache.tools.ant.Target.per=
formTasks(Target.java:369)<br>
[testSpec] at org.apache.tools.ant.Project.ex=
ecuteTarget(Project.java:1214)<br>
[testSpec] at org.apache.tools.ant.Project.ex=
ecuteTargets(Project.java:1062)<br>
[testSpec] at org.apache.tools.ant.Main.runBu=
ild(Main.java:673)<br>
[testSpec] at org.apache.tools.ant.Main.start=
Ant(Main.java:188)<br>
[testSpec] at org.apache.tools.ant.launch.Lau=
ncher.run(Launcher.java:196)<br>
[testSpec] at org.apache.tools.ant.launch.Lau=
ncher.main(Launcher.java:55)<br>
<br>
BUILD FAILED<br>
C:\Program Files\Eclipse\workspace\Criteria\TestDocument.xml:10: Test faile=
d.<br>
Exception raised: com.canoo.webtest.engine.StepExecutionException: Unexpect=
ed exception caught: TypeError: Cannot conve<br>
t null to an object., Step: ScriptStep at C:\Program Files\Eclipse\workspac=
e\Criteria\TestDocument.xml:25: with (scrip<br>
=3D"<br>
<br>
&nb=
sp;
var item =3D document.getElementById('validation');<br>
&nb=
sp;
var count;<br>
<br>
&nb=
sp; =
for(count=3D0; count<item.options.length; count++)<br>
&nb=
sp; =
{<br>
&nb=
sp; =
&nb=
sp;
if(item.options[count].text =3D=3D "Credit Card")<br>
&nb=
sp; =
&nb=
sp;
{<br>
&nb=
sp; =
&nb=
sp;
project.setProperty("altvalue", item.options[count].value);<br>
&nb=
sp; =
&nb=
sp;
}<br>
&nb=
sp; =
}<br>
<br>
",
stepId=3D"Grabbing listbox element value", language=3D"javas=
cript",
stepType=3D"scriptstep")com.canoo.webtest.<br>
ngine.StepExecutionException: Unexpected exception caught: TypeError: Canno=
t convert null to an object., Step: ScriptSt<br>
p at C:\Program Files\Eclipse\workspace\Criteria\TestDocument.xml:25: =
with (script=3D"<br>
<br>
&nb=
sp;
var item =3D document.getElementById('validation');<br>
&nb=
sp;
var count;<br>
<br>
&nb=
sp; =
for(count=3D0; count<item.options.length; count++)<br>
&nb=
sp; =
{<br>
&nb=
sp; =
&nb=
sp;
if(item.options[count].text =3D=3D "Credit Card")<br>
&nb=
sp; =
&nb=
sp;
{<br>
&nb=
sp; =
&nb=
sp;
project.setProperty("altvalue", item.options[count].value);<br>
&nb=
sp; =
&nb=
sp;
}<br>
&nb=
sp; =
}<br>
<br>
",
stepId=3D"Grabbing listbox element value", language=3D"javas=
cript",
stepType=3D"scriptstep")<br>
at com.canoo.webtest.steps.Step.=
handleUnexpectedException(Step.java:371)<br>
at com.canoo.webtest.steps.Step.=
execute(Step.java:121)<br>
at com.canoo.webtest.engine.Engi=
ne.executeSteps(Engine.java:26)<br>
at com.canoo.webtest.ant.TestSpe=
cificationTask.execute(TestSpecificationTask.java:68)<br>
at org.apache.tools.ant.UnknownE=
lement.execute(UnknownElement.java:275)<br>
at org.apache.tools.ant.Task.per=
form(Task.java:364)<br>
at org.apache.tools.ant.Target.e=
xecute(Target.java:341)<br>
at org.apache.tools.ant.Target.p=
erformTasks(Target.java:369)<br>
at org.apache.tools.ant.Project.=
executeTarget(Project.java:1214)<br>
at org.apache.tools.ant.Project.=
executeTargets(Project.java:1062)<br>
at org.apache.tools.ant.Main.run=
Build(Main.java:673)<br>
at org.apache.tools.ant.Main.sta=
rtAnt(Main.java:188)<br>
at org.apache.tools.ant.launch.L=
auncher.run(Launcher.java:196)<br>
at org.apache.tools.ant.launch.L=
auncher.main(Launcher.java:55)<br>
<br>
------=_Part_619_22656119.1114106493810--