Hey Marc,
allright, but can you still help me how to access Webtest (dynamic) properties
within an ant-java class? :)
-stefan
Marc Guillemot wrote:
> Hi Stefan,
>
> sorry but I have no time to look through your code. Despite what you say and
> even if provided output is incomplete your first 2 examples seem fully
> logical.
>
> Marc.
>
> PS: you can simplify
> System.out.println("#hasAdminRights BEFORE call=" +
> step.getWebtestProperty("hasAdminRights").toString());
> to
> println "#hasAdminRights BEFORE call=" +
> step.getWebtestProperty("hasAdminRights")
>
> Stefan Kuhn wrote:
>
>> Hallo Marc,
>>
>> I updated Webtest to Canoo Webtest: R_1378. After some problems Webtest is
>> working again.
>> I had to change my test setup as following:
>> <webtest (...)>
>> <config (...)/>
>> <steps>
>> <storeProperty description="convert Ant to dynamic"
>> name="hasAdminRights" value="def.hasAdm.Prop"/>
>> <groovy> System.out.println(
>> "#hasAdminRights BEFORE call=
>> "+step.getWebtestProperty("hasAdminRights")
>> .toString());</groovy>
>> <mytask userRole="usuario"/>
>> <groovy> System.out.println(
>> "#hasAdminRights AFTER call=
>> "+step.getWebtestProperty("hasAdminRights")
>> .toString());</groovy>
>> </steps>
>> </webtest>
>>
>> My class looks basically like this:
>> public class CommonTasks extends WebtestTask{
>> private String userRole = null;
>> public void execute() throws BuildException{
>> if (userRole == null) throw new
>> BuildException("ResolveUserRights.userRole not set");
>> userRole = userRole.toUpperCase();
>> getProject().log("userRole: "+userRole, Project.MSG_WARN);
>> (CodeInsideHere)
>> }
>> public void setUserRole(String userRole) {
>> if (userRole == null) throw new
>> BuildException("ResolveUserRights.userRole is null");
>> this.userRole = userRole;
>> }
>> }
>>
>> (CodeInsideHere) is where I try to access the dynamic
>>
>> 1)
>> CodeInsideHere=
>> setDynamicProperty("hasAdminRights", "hasAdminRights2");
>> getProject().log("hasAdminRightsDyn
>> :"+getDynamicProperty("hasAdminRights"));
>> ===>
>> [groovy] INFO (com.canoo.webtest.extension.groovy.GroovyInvoker) - No
>> existing binding for this webtest, creating a new one
>> [groovy] #hasAdminRights BEFORE call= def.hasAdm.Prop
>> [null] INFO (com.canoo.webtest.steps.Step) - >>>> Start Step: null (3/4)
>> [null] INFO (com.canoo.webtest.steps.Step) - WrappedSteps.attributes
>> not found.
>> userRole: USUARIO
>> hasAdminRightsDyn :hasAdminRights2
>> [groovy] INFO (com.canoo.webtest.steps.Step) - >>>> Start Step: groovy
>> (4/4)
>> [groovy] INFO (com.canoo.webtest.extension.groovy.GroovyInvoker) -
>> Reusing existing binding of this webtest.
>> [groovy] #hasA
>> Conclusion:
>> Looks like I can set dynamic properties in my java class with NO effect
>> for everything outside the class.
>>
>> 2)
>> getProject().log("hasAdminRightsDyn :"+getDynamicProperty("hasAdminRights"));
>> ===>
>> [null] INFO (com.canoo.webtest.steps.Step) - WrappedSteps.attributes
>> not found.
>> userRole: USUARIO
>> hasAdminRightsDyn :null
>> [groovy] INFO (com.canoo.webtest.steps.Step) - >>>> Start Step: groovy
>> (4/4)
>> [groovy] INFO (com.canoo.webtest.extension.groovy.GroovyInvoker) -
>> Reusing existing binding of this webtest.
>> [groovy] #hasAdminRights AFTER call= def.hasAdm.Prop
>> Conclusion:
>> hasAdminRights was never set
>>
>> 3)
>> boolean isUser=true;
>> getProject().log("-->BEFORE:", Project.MSG_ERR);
>> StorePropertyStep sp = new StorePropertyStep();
>> sp.setProject(getProject());
>> sp.setLocation(getLocation());
>> sp.setRuntimeConfigurableWrapper(getRuntimeConfigurableWrapper());
>> sp.setDescription("set isUserProperty");
>> //sp.setWebtestProperty("userRole", "userRole",
>> Step.PROPERTY_TYPE_DYNAMIC);
>> sp.setName("hasAdminRights");
>> sp.setProperty("hasAdminRights");
>> sp.setValue(Boolean.toString(isUser));
>> sp.doExecute();
>> //sp.setWebtestProperty("userRole", "userRole");
>> //sp.execute();
>> getProject().log("<--AFTER", Project.MSG_ERR);
>> ===>
>> userRole: USUARIO
>> -->BEFORE:
>> INFO (com.canoo.webtest.steps.Step) - Running with: Canoo Webtest: R_1378.
>> INFO (com.canoo.webtest.steps.Step) - Exception thrown from this class:
>> org.apache.tools.ant.BuildException
>> INFO (com.canoo.webtest.steps.Step) - Message was:
>> java.lang.NullPointerException
>> ERROR (com.canoo.webtest.steps.Step) - Cannot handle unexpected exception in
>> step AntWrapper at with ()
>> C:\projetos\celplay_pettoy\workspace\website\webtest\testes\justATest.webtest.xml:25:
>> java.lang.NullPointerException
>> at org.apache.tools.ant.Task.perform(Task.java:373)
>> at com.canoo.webtest.extension.AntWrapper.doExecute(AntWrapper.java:85)
>> ...
>> Caused by: java.lang.NullPointerException
>> at com.canoo.webtest.steps.Step.getDefaultPropertyType(Step.java:311)
>> at com.canoo.webtest.steps.Step.setWebtestProperty(Step.java:333)
>> ...
>> java.lang.NullPointerException
>> at com.canoo.webtest.steps.Step.getDefaultPropertyType(Step.java:311)
>> at com.canoo.webtest.steps.Step.setWebtestProperty(Step.java:333)
>>
>> 4)
>> The same as above happens when using this for (CodeInsideHere)
>> StorePropertyStep sp = new StorePropertyStep();
>> sp.setWebtestProperty("hasAdminRights", "hasAdminRights");
>>
>>
>> Trys I made with the old Version ......... (not really important any more)
>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>> <<<<<<<<<<<Concerning Canoo Webtest: R_1217. <<<<<<<<<<<
>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>> Here I tried to access a Dynamic Property via
>> 1)
>> getProject().log("hasAdminRights
>> :"+getWebtestProperty("hasAdminRights"));
>>
>> 2)
>> setWebtestProperty("isUser", Boolean.toString(isUser),
>> Step.PROPERTY_TYPE_DYNAMIC);
>>
>> 3)
>> getProject().log("-->BEFORE:", Project.MSG_ERR);
>> StorePropertyStep sp = new StorePropertyStep();
>> sp.setContext(getContext());
>> sp.setContainer(getContainer());
>> sp.setProject(getProject());
>> sp.setLocation(getLocation());
>> sp.setRuntimeConfigurableWrapper(getRuntimeConfigurableWrapper());
>> sp.setDescription("set isUserProperty");
>> sp.setName("userRole");
>> sp.setProperty("userRole2");
>> sp.setValue(Boolean.toString(isUser));
>> sp.doExecute();
>> getProject().log("<--AFTER", Project.MSG_ERR);
>>
>> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>> with this class:
>> Line3: import java.util.Map;
>> import org.apache.tools.ant.BuildException;
>> import org.apache.tools.ant.Project;
>> import org.apache.tools.ant.Task;
>> import org.apache.tools.ant.taskdefs.Echo;
>>
>> import com.canoo.webtest.ant.WebtestTask;
>> import com.canoo.webtest.engine.Context;
>> import com.canoo.webtest.steps.Step;
>> import com.canoo.webtest.steps.store.StorePropertyStep;
>>
>> // extends com.canoo.webtest.steps.Step
>> // WebtestTask
>> public class CommonTasks extends Step{
>> private static final long serialVersionUID = -1390935335854603020L;
>> private String userRole = null;
>> @Override
>> public void doExecute() throws BuildException{
>> if (userRole == null) throw new
>> BuildException("ResolveUserRights.userRole not set");
>> super.expandProperties();
>> userRole = userRole.toUpperCase();
>> getProject().log("userRole: "+userRole, Project.MSG_WARN);
>> // getProject().log("user.user.rolename::
>> //
>> "+getProject().getProperty("user.user.rolename").toString(),Project.MSG_WARN);
>> boolean isUser = false;
>> boolean isAdmin = false;
>> boolean isClient = false;
>> boolean hasUserRights = false;
>> boolean hasClientRights = false;
>> boolean hasAdminRights = false;
>> if
>> (userRole.equals(getProject().getProperty("user.user.rolename")))
>> isUser = true;
>> if (userRole.equals(getProject().getProperty("user.admin.rolename")))
>> isAdmin = true;
>> if
>> (userRole.equals(getProject().getProperty("user.client.rolename")))
>> isClient = true;
>>
>> if (isUser || isAdmin || isClient)
>> hasUserRights = true;
>> if (isAdmin || isClient)
>> hasClientRights = true;
>> if (isAdmin)
>> hasAdminRights = true;
>> com.canoo.webtest.extension.groovy.GroovyStep st;
>> /*
>> getProject().log("-->BEFORE:", Project.MSG_ERR);
>> StorePropertyStep sp = new StorePropertyStep();
>> sp.setContext(getContext());
>> sp.setContainer(getContainer());
>> sp.setProject(getProject());
>> sp.setLocation(getLocation());
>> sp.setRuntimeConfigurableWrapper(getRuntimeConfigurableWrapper());
>> sp.setDescription("set isUserProperty");
>> //sp.setWebtestProperty("userRole", "userRole",
>> Step.PROPERTY_TYPE_DYNAMIC);
>> sp.setName("userRole");
>> sp.setProperty("userRole2");
>> sp.setValue(Boolean.toString(isUser));
>> sp.doExecute();
>> //sp.setWebtestProperty("userRole", "userRole");
>> //sp.execute();
>> getProject().log("<--AFTER", Project.MSG_ERR);
>> getProject().setProperty("isUser",
>> Boolean.toString(isUser));
>> getProject().setProperty("isAdmin", Boolean.toString(isAdmin));
>> getProject().setProperty("isClient", Boolean.toString(isClient));
>> getProject().setProperty("hasUserRights",
>> Boolean.toString(hasUserRights));
>> getProject().setProperty("hasAdminRights",
>> Boolean.toString(hasAdminRights));
>> getProject().setProperty("hasClientRights",
>> Boolean.toString(hasClientRights));
>> */
>> // getProject().log("hasAdminRights
>> :"+getWebtestProperty("hasAdminRights"));
>> // getProject().log("con class :"+con.getClass(),Project.MSG_WARN);
>> // step.dynamicProperties.image_alt
>> //getContext();
>> //super.expandProperties();
>> //setDynamicProperty();
>> //expandDynamicProperties("isUser");
>> //setWebtestProperty("isUser", Boolean.toString(isUser),
>> Step.PROPERTY_TYPE_DYNAMIC);
>> //getContext().getWebtest().setDynamicProperty(name, value);
>> //setWebtestProperty("isUser", Boolean.toString(isUser),
>> Step.PROPERTY_TYPE_DYNAMIC);
>> getProject().log("isUser(I): "+Boolean.toString(isUser),
>> Project.MSG_ERR);
>> getProject().log("isUser(E):
>> "+getProject().getProperty("isUser").toString(), Project.MSG_ERR);
>> /*
>> for (Object o : getProject().getProperties().keySet()) {
>> getProject().log("Key: " + o.toString(), Project.MSG_WARN);
>> }*/
>> /*
>> for(java.util.Iterator it =
>> getProject().getProperties().entrySet().iterator(); it.hasNext();){
>> Map.Entry e = (Map.Entry) it.next();
>> getProject().log(e.getKey() +"::"+ e.getValue(),
>> Project.MSG_WARN);
>> };*/
>> }
>>
>> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>> the result is
>>
>> 1)
>> [webtest] INFO (com.canoo.webtest.ant.WebtestTask) - Canoo Webtest: R_1217.
>> [config] INFO (com.canoo.webtest.engine.Configuration) - Surfing with
>> browser Mozilla/4.0 (compatible; MSIE 6.0b; Windows 98)
>> [null] INFO (com.canoo.webtest.steps.Step) - >>>> Start Step: null
>> "<unknown>" (1/1)
>> userRole: USUARIO
>> [mytask] 2006-08-24 15:34:53,687 [main ERROR Step ]: Cannot handle
>> unexpected exception in step CommonTasks at
>> C:\projetos\celplay_pettoy\workspace\website\webtest\testes\justATest.webtest.xml:17:
>> with (stepType="mytask")
>> [mytask] java.lang.NullPointerException
>> [mytask] at
>> com.canoo.webtest.steps.Step.getDefaultPropertyType(Step.java:402)
>> [mytask] at com.canoo.webtest.steps.Step.getWebtestProperty(Step.java:462)
>> [mytask] at com.canoo.webtest.steps.Step.getWebtestProperty(Step.java:451)
>> [mytask] at javaTestSupport.CommonTasks.doExecute(CommonTasks.java:78)
>> [mytask] at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at
>> com.canoo.webtest.extension.AntWrapper.doExecute(AntWrapper.java:77)
>> [mytask] at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at com.canoo.webtest.engine.Engine.executeSteps(Engine.java:38)
>> [mytask] at
>> com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:105)
>> [mytask] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at
>> org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:64)
>> [mytask] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at
>> org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:378)
>> [mytask] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at org.apache.tools.ant.Target.execute(Target.java:341)
>> [mytask] at org.apache.tools.ant.Target.performTasks(Target.java:369)
>> [mytask] at
>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>> [mytask] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>> [mytask] at
>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
>> [mytask] at
>> org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
>> [mytask] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>> [mytask] at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
>> [mytask] at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
>> INFO (com.canoo.webtest.steps.Step) - Running with: Canoo Webtest: R_1217.
>> INFO (com.canoo.webtest.steps.Step) - Exception thrown from this class:
>> com.canoo.webtest.engine.StepExecutionException
>> INFO (com.canoo.webtest.steps.Step) - Message was: Unexpected exception
>> caught: java.lang.NullPointerException
>> ERROR (com.canoo.webtest.steps.Step) - Cannot handle unexpected exception in
>> step AntWrapper at with (description="<unknown>")
>> com.canoo.webtest.engine.StepExecutionException: Unexpected exception
>> caught: java.lang.NullPointerException, Step: CommonTasks at
>> C:\projetos\celplay_pettoy\workspace\website\webtest\testes\justATest.webtest.xml:17:
>> with (stepType="mytask")
>> at com.canoo.webtest.steps.Step.handleUnexpectedException(Step.java:607)
>> at com.canoo.webtest.steps.Step.execute(Step.java:138)
>> at org.apache.tools.ant.Task.perform(Task.java:364)
>> at com.canoo.webtest.extension.AntWrapper.doExecute(AntWrapper.java:77)
>> at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> at org.apache.tools.ant.Task.perform(Task.java:364)
>> at com.canoo.webtest.engine.Engine.executeSteps(Engine.java:38)
>> at com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:105)
>> 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.taskdefs.Sequential.execute(Sequential.java:64)
>> 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.taskdefs.MacroInstance.execute(MacroInstance.java:378)
>> 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.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
>> at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>> at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
>> at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
>> Caused by: java.lang.NullPointerException
>> at com.canoo.webtest.steps.Step.getDefaultPropertyType(Step.java:402)
>> at com.canoo.webtest.steps.Step.getWebtestProperty(Step.java:462)
>> at com.canoo.webtest.steps.Step.getWebtestProperty(Step.java:451)
>> at javaTestSupport.CommonTasks.doExecute(CommonTasks.java:78)
>> at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> ... 23 more
>> INFO (com.canoo.webtest.ant.WebtestTask) - Test report successfully created.
>> [echo] justATest
>> BUILD SUCCESSFUL
>> Total time: 11 seconds
>> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>> 2)
>> Buildfile:
>> C:\projetos\celplay_pettoy\workspace\website\webtest\testes\justATest.webtest.xml
>> Trying to override old definition of task sleep
>> test3:
>> [webtest] INFO (com.canoo.webtest.ant.WebtestTask) - Canoo Webtest: R_1217.
>> [config] INFO (com.canoo.webtest.engine.Configuration) - Surfing with
>> browser Mozilla/4.0 (compatible; MSIE 6.0b; Windows 98)
>> [null] INFO (com.canoo.webtest.steps.Step) - >>>> Start Step: null
>> "<unknown>" (1/1)
>> userRole: USUARIO
>> [mytask] 2006-08-24 15:38:06,437 [main ERROR Step ]: Cannot handle
>> unexpected exception in step CommonTasks at
>> C:\projetos\celplay_pettoy\workspace\website\webtest\testes\justATest.webtest.xml:17:
>> with (stepType="mytask")
>> [mytask] java.lang.NullPointerException
>> [mytask] at com.canoo.webtest.steps.Step.setWebtestProperty(Step.java:426)
>> [mytask] at javaTestSupport.CommonTasks.doExecute(CommonTasks.java:86)
>> [mytask] at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at
>> com.canoo.webtest.extension.AntWrapper.doExecute(AntWrapper.java:77)
>> [mytask] at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at com.canoo.webtest.engine.Engine.executeSteps(Engine.java:38)
>> [mytask] at
>> com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:105)
>> [mytask] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at
>> org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:64)
>> [mytask] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at
>> org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:378)
>> [mytask] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at org.apache.tools.ant.Target.execute(Target.java:341)
>> [mytask] at org.apache.tools.ant.Target.performTasks(Target.java:369)
>> [mytask] at
>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>> [mytask] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>> [mytask] at
>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
>> [mytask] at
>> org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
>> [mytask] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>> [mytask] at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
>> [mytask] at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
>> INFO (com.canoo.webtest.steps.Step) - Running with: Canoo Webtest: R_1217.
>> INFO (com.canoo.webtest.steps.Step) - Exception thrown from this class:
>> com.canoo.webtest.engine.StepExecutionException
>> INFO (com.canoo.webtest.steps.Step) - Message was: Unexpected exception
>> caught: java.lang.NullPointerException
>> ERROR (com.canoo.webtest.steps.Step) - Cannot handle unexpected exception in
>> step AntWrapper at with (description="<unknown>")
>> com.canoo.webtest.engine.StepExecutionException: Unexpected exception
>> caught: java.lang.NullPointerException, Step: CommonTasks at
>> C:\projetos\celplay_pettoy\workspace\website\webtest\testes\justATest.webtest.xml:17:
>> with (stepType="mytask")
>> at com.canoo.webtest.steps.Step.handleUnexpectedException(Step.java:607)
>> at com.canoo.webtest.steps.Step.execute(Step.java:138)
>> at org.apache.tools.ant.Task.perform(Task.java:364)
>> at com.canoo.webtest.extension.AntWrapper.doExecute(AntWrapper.java:77)
>> at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> at org.apache.tools.ant.Task.perform(Task.java:364)
>> at com.canoo.webtest.engine.Engine.executeSteps(Engine.java:38)
>> at com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:105)
>> 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.taskdefs.Sequential.execute(Sequential.java:64)
>> 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.taskdefs.MacroInstance.execute(MacroInstance.java:378)
>> 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.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
>> at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>> at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
>> at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
>> Caused by: java.lang.NullPointerException
>> at com.canoo.webtest.steps.Step.setWebtestProperty(Step.java:426)
>> at javaTestSupport.CommonTasks.doExecute(CommonTasks.java:86)
>> at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> ... 23 more
>> INFO (com.canoo.webtest.ant.WebtestTask) - Test report successfully created.
>> [echo] justATest
>> BUILD SUCCESSFUL
>> Total time: 6 seconds
>> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>> 3)
>> Buildfile:
>> C:\projetos\celplay_pettoy\workspace\website\webtest\testes\justATest.webtest.xml
>> Trying to override old definition of task sleep
>> test3:
>> [webtest] INFO (com.canoo.webtest.ant.WebtestTask) - Canoo Webtest: R_1217.
>> [config] INFO (com.canoo.webtest.engine.Configuration) - Surfing with
>> browser Mozilla/4.0 (compatible; MSIE 6.0b; Windows 98)
>> [null] INFO (com.canoo.webtest.steps.Step) - >>>> Start Step: null
>> "<unknown>" (1/1)
>> userRole: USUARIO
>> -->BEFORE:
>> [mytask] 2006-08-24 15:46:20,656 [main ERROR Step ]: Cannot handle
>> unexpected exception in step CommonTasks at
>> C:\projetos\celplay_pettoy\workspace\website\webtest\testes\justATest.webtest.xml:17:
>> with (stepType="mytask")
>> [mytask] java.lang.NullPointerException
>> [mytask] at
>> com.canoo.webtest.steps.Step.getDefaultPropertyType(Step.java:402)
>> [mytask] at com.canoo.webtest.steps.Step.setWebtestProperty(Step.java:422)
>> [mytask] at
>> com.canoo.webtest.steps.store.StorePropertyStep.doExecute(StorePropertyStep.java:28)
>> [mytask] at javaTestSupport.CommonTasks.doExecute(CommonTasks.java:66)
>> [mytask] at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at
>> com.canoo.webtest.extension.AntWrapper.doExecute(AntWrapper.java:77)
>> [mytask] at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at com.canoo.webtest.engine.Engine.executeSteps(Engine.java:38)
>> [mytask] at
>> com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:105)
>> [mytask] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at
>> org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:64)
>> [mytask] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at
>> org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:378)
>> [mytask] at
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>> [mytask] at org.apache.tools.ant.Task.perform(Task.java:364)
>> [mytask] at org.apache.tools.ant.Target.execute(Target.java:341)
>> [mytask] at org.apache.tools.ant.Target.performTasks(Target.java:369)
>> [mytask] at
>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>> [mytask] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>> [mytask] at
>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
>> [mytask] at
>> org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
>> [mytask] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>> [mytask] at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
>> [mytask] at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
>> INFO (com.canoo.webtest.steps.Step) - Running with: Canoo Webtest: R_1217.
>> INFO (com.canoo.webtest.steps.Step) - Exception thrown from this class:
>> com.canoo.webtest.engine.StepExecutionException
>> INFO (com.canoo.webtest.steps.Step) - Message was: Unexpected exception
>> caught: java.lang.NullPointerException
>> ERROR (com.canoo.webtest.steps.Step) - Cannot handle unexpected exception in
>> step AntWrapper at with (description="<unknown>")
>> com.canoo.webtest.engine.StepExecutionException: Unexpected exception
>> caught: java.lang.NullPointerException, Step: CommonTasks at
>> C:\projetos\celplay_pettoy\workspace\website\webtest\testes\justATest.webtest.xml:17:
>> with (stepType="mytask")
>> at com.canoo.webtest.steps.Step.handleUnexpectedException(Step.java:607)
>> at com.canoo.webtest.steps.Step.execute(Step.java:138)
>> at org.apache.tools.ant.Task.perform(Task.java:364)
>> at com.canoo.webtest.extension.AntWrapper.doExecute(AntWrapper.java:77)
>> at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> at org.apache.tools.ant.Task.perform(Task.java:364)
>> at com.canoo.webtest.engine.Engine.executeSteps(Engine.java:38)
>> at com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:105)
>> 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.taskdefs.Sequential.execute(Sequential.java:64)
>> 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.taskdefs.MacroInstance.execute(MacroInstance.java:378)
>> 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.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
>> at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>> at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
>> at
>> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
>> Caused by: java.lang.NullPointerException
>> at com.canoo.webtest.steps.Step.getDefaultPropertyType(Step.java:402)
>> at com.canoo.webtest.steps.Step.setWebtestProperty(Step.java:422)
>> at
>> com.canoo.webtest.steps.store.StorePropertyStep.doExecute(StorePropertyStep.java:28)
>> at javaTestSupport.CommonTasks.doExecute(CommonTasks.java:66)
>> at com.canoo.webtest.steps.Step.execute(Step.java:135)
>> ... 23 more
>> INFO (com.canoo.webtest.ant.WebtestTask) - Test report successfully created.
>> [echo] justATest
>> BUILD SUCCESSFUL
>> Total time: 9 seconds
>>
>>
>> Marc Guillemot wrote:
>>
>>> Hi Stefan,
>>>
>>> 1) the stack of the root exception should appear in the log. It is more
>>> helpfull. Otherwise, try with the debugger.
>>>
>>> 2) same thing, provided information is not enough
>>>
>>> 3 & 4) sorry, I've never used these steps, perhaps can Paul answer your
>>> question.
>>>
>>> Marc.
>>>
>>> PS: what about using the latest build, it would be easier for us to look at
>>> a particular line of the source
>>>
>>> Stefan Kuhn wrote:
>>>
>>>> Concerning webtest.version::Canoo Webtest: R_1217.
>>>>
>>>> I have several problems with Canoo Webtest, they could be split in these
>>>> points:
>>>> 1. Access dynamic properties in an own java class
>>>> 2. Execute webtest steps in a java class
>>>> 3. Access an email (via the filters)
>>>> 4. Proper way to wait for a specific email
>>>>
>>>> 1)
>>>> The declarative approach of ANT (and webtest) seems inappropriate
>>>> sometimes. The webtest documentation suggests to use Groovy in this case,
>>>> but because of the good Eclipse support and meaningful error msgs I choose
>>>> to use Java for more complex situations.
>>>>
>>>> My first problem is that I can't access webtests dynamic properties in my
>>>> Java class. The ANT side declaration looks like this :
>>>>
>>>> <taskdef name="mytask" classname="javaTestSupport.CommonTasks"
>>>> classpathref="classpath"/>
>>>> <webtest (...)">
>>>> <config (...)/>
>>>> <steps>
>>>> <mytask userRole="test" />
>>>> </steps>
>>>> </webtest>
>>>>
>>>> My Java-Class:
>>>> public class CommonTasks extends com.canoo.webtest.steps.Step{
>>>> public void doExecute() throws BuildException{
>>>> setWebtestProperty("isUser", Boolean.toString(isUser),
>>>> Step.PROPERTY_TYPE_DYNAMIC);
>>>> }
>>>> }
>>>>
>>>> leads to:
>>>> INFO (com.canoo.webtest.steps.Step) - Exception thrown from this class:
>>>> com.canoo.webtest.engine.StepExecutionException
>>>> INFO (com.canoo.webtest.steps.Step) - Message was: Unexpected exception
>>>> caught: java.lang.NullPointerException
>>>> ERROR (com.canoo.webtest.steps.Step) - Cannot handle unexpected exception
>>>> in step AntWrapper at with (description="<unknown>")
>>>> com.canoo.webtest.engine.StepExecutionException: Unexpected exception
>>>> caught: java.lang.NullPointerException, Step: CommonTasks at
>>>> C:\(...)\justATest.webtest.xml:17: with (stepType="mytask")
>>>> at com.canoo.webtest.steps.Step.handleUnexpectedException(Step.java:607)
>>>> at com.canoo.webtest.steps.Step.execute(Step.java:138)
>>>> at org.apache.tools.ant.Task.perform(Task.java:364)
>>>> at com.canoo.webtest.extension.AntWrapper.doExecute(AntWrapper.java:77)
>>>> at com.canoo.webtest.steps.Step.execute(Step.java:135)
>>>>
>>>> My first thought Just to use ant properties (because they are not
>>>> immutable in a java-class) doesn't work neither, because webtest doesn't
>>>> seems to expand the ant properties during a webtest. Starting a new
>>>> webtest with another session is not useful.
>>>>
>>>>
>>>>
>>>>
>>>> 2)
>>>> My workaround now was just to execute StoreProperty inside Java.
>>>> So I created a StoreProperty Step and tried to execute it as follows:
>>>> StorePropertyStep sp = new StorePropertyStep();
>>>> sp.setContext(getContext());
>>>> sp.setContainer(getContainer());
>>>> sp.setProject(getProject());
>>>> sp.setLocation(getLocation());
>>>> sp.setRuntimeConfigurableWrapper(getRuntimeConfigurableWrapper());
>>>> sp.setDescription("set isUserProperty");
>>>> sp.setWebtestProperty("userRole", "userRole", "dynamic");
>>>> /* Other options I played around with
>>>> sp.setName("userRole");
>>>> sp.setProperty("userRole2");
>>>> sp.setValue(Boolean.toString(isUser));
>>>> sp.doExecute();
>>>> sp.setWebtestProperty("userRole", "userRole");
>>>> sp.execute();
>>>> */
>>>>
>>>> all result in this kind of exception:
>>>> ERROR (com.canoo.webtest.steps.Step) - Cannot handle unexpected exception
>>>> in step AntWrapper at with (description="<unknown>")
>>>> com.canoo.webtest.engine.StepExecutionException: Unexpected exception
>>>> caught: java.lang.NullPointerException, Step: CommonTasks at
>>>> C:\(...)\justATest.webtest.xml:17: with (stepType="mytask")
>>>> at com.canoo.webtest.steps.Step.handleUnexpectedException(Step.java:607)
>>>> at com.canoo.webtest.steps.Step.execute(Step.java:138)
>>>> at org.apache.tools.ant.Task.perform(Task.java:364)
>>>> at com.canoo.webtest.extension.AntWrapper.doExecute(AntWrapper.java:77)
>>>> at com.canoo.webtest.steps.Step.execute(Step.java:135)
>>>> (...)
>>>> Caused by: java.lang.NullPointerException
>>>> at com.canoo.webtest.steps.Step.setWebtestProperty(Step.java:426)
>>>> at javaTestSupport.CommonTasks.doExecute(CommonTasks.java:61)
>>>> at com.canoo.webtest.steps.Step.execute(Step.java:135)
>>>>
>>>> ==> How to set/get dynamic canoo/webtest properties in a java class?
>>>>
>>>> 3)
>>>> I switched to testing emails and after some hours I stuck in problems
>>>> again.
>>>> I want to access the content of a plain email. Therefore I want to SAVE
>>>> the email once. Whenever I try to do this, an exception is thrown
>>>>
>>>> Following code is working:
>>>> <emailSetConfig server="@{eMail.mailServer}"
>>>> type="@{eMail.serverType}" password="@{eMail.password}"
>>>> username="@{eMail.userName}" delay="@{eMail.serverDelay}" />
>>>> <sleep seconds="@{emailReceiveTime}"/>
>>>> <emailStoreMessageId
>>>> from="@{eMail.petToyServerEMailAdress}" to="@{eMail.UserEmailAddress}"
>>>> property="confirmEMail.id" propertyType="dynamic"
>>>> subject="@{eMail.registerdNewUserSuccessfully.Header}" />
>>>>
>>>> <emailMessageContentFilter description="MessageContent of
>>>> confirmation email" contentType="simple" messageId="#{confirmEMail.id}" />
>>>>
>>>> I verified that the code is working properly by adding <verifyText
>>>> text="xxxx"/> with good/bad values.
>>>>
>>>> If I add to emailMessageContentFilter save="xxx" or if I change in my
>>>> <config> saveresponse="true" the following exception occurs:
>>>> C:\\webtest\commonTasks.webLib.xml:258: The following error occurred while
>>>> executing this line:
>>>> C:\\website\build.xml:310: org.dbunit.dataset.NoSuchTableException: rotina
>>>> ERROR (com.canoo.webtest.steps.Step) - Cannot handle unexpected exception
>>>> in step AntWrapper at with (description="<unknown>")
>>>> C:\\website\webtest\testes\createNewUser.webtest.xml:108: The following
>>>> error occurred while executing this line:
>>>> C:\\website\webtest\commonTasks.webLib.xml:258: The following error
>>>> occurred while executing this line:
>>>> C:\\website\build.xml:310: org.dbunit.dataset.NoSuchTableException: rotina
>>>> at
>>>> org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:539)
>>>> at
>>>> org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:380)
>>>> 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.taskdefs.Sequential.execute(Sequential.java:64)
>>>> at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>>>>
>>>> 4)
>>>> Is there a better way than try to guess the time until a specific email
>>>> arrives? My code right now looks like this and is not very useful.
>>>> <emailSetConfig .../>
>>>> <sleep seconds="@{emailReceiveTime}"/>
>>>> <emailStoreMessageCount ...
>>>>
>>>> Thanks /MfG
>>>> Stefan
>>>
>>>
>>> _______________________________________________
>>> WebTest mailing list
>>> [email protected]
>>> http://lists.canoo.com/mailman/listinfo/webtest
>>>
>>>
>>>
>>
>>
>>
>
> _______________________________________________
> WebTest mailing list
> [email protected]
> http://lists.canoo.com/mailman/listinfo/webtest
>
>
>
--
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest