HttpUnit - setParameter

2 respostas
R

Fala Galera, seguinte.
Tenho um probleminha acontecendo, estou usando o HttpUnit para fazer um teste na minha aplicação web.

Tenho um formulario que preciso testar, entretanto, esse form tem inputs que executam ações em ajax.
Por exemplo, quando eu digito algo e passo para outro campo, o mesmo campo atualiza informações na página em ajax.

No HttpUnit existe a classe WebForm que manipula formularios, inclusive preenche-los.

WebForm form = null;
form = response.getFormWithName("formPrincipal");
form.setParameter("formPrincipal:idPlacaCavalo", placadocavalo);

o método setParameter funciona muito bem, quando o input form não tem nenhuma ação onchange.
quando tento fazer isso no meu form que tem a ação onchange em ajax, da o seguinte erro:

org.mozilla.javascript.EcmaError: TypeError: Cannot read property "action" from null (httpunit#72)
        at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3654)
        at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3632)
        at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3660)
        at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3679)
        at org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3692)
        at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1421)
        at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3027)
        at script(httpunit:72)
        at script(httpunit:57)
        at script(httpunit:57)
        at script.x(httpunit)
        at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2487)
        at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
        at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)
        at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
        at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
        at com.meterware.httpunit.javascript.ScriptingEngineImpl.doEventScript(ScriptingEngineImpl.java:131)
        at com.meterware.httpunit.scripting.ScriptableDelegate.doEventScript(ScriptableDelegate.java:70)
        at com.meterware.httpunit.HTMLElementScriptable.handleEvent(HTMLElementScriptable.java:95)
        at com.meterware.httpunit.HTMLElementBase.handleEvent(HTMLElementBase.java:94)
        at com.meterware.httpunit.FormControl.doOnChangeEvent(FormControl.java:282)
        at com.meterware.httpunit.FormControl.sendOnChangeEvent(FormControl.java:275)
        at com.meterware.httpunit.TextFormControl.claimValue(FormControl.java:766)
        at com.meterware.httpunit.FormParameter.setValues(FormParameter.java:117)
        at com.meterware.httpunit.WebForm.setParameter(WebForm.java:637)
        at com.meterware.httpunit.WebForm.setParameter(WebForm.java:623)
        at robo_22.Main.main(Main.java:86)
Exception in thread "main" com.meterware.httpunit.ScriptException: Event 'A4J.AJAX.Submit('_id0','formPrincipal',event,{'parameters':{'formPrincipal:_id50':'formPrincipal:_id50'} ,'actionUrl':'/transportador/faces/PILO0260.jsp'} )' failed: org.mozilla.javascript.EcmaError: TypeError: Cannot read property "action" from null (httpunit#72)
        at com.meterware.httpunit.javascript.ScriptingEngineImpl.handleScriptException(ScriptingEngineImpl.java:64)
        at com.meterware.httpunit.javascript.ScriptingEngineImpl.doEventScript(ScriptingEngineImpl.java:135)
        at com.meterware.httpunit.scripting.ScriptableDelegate.doEventScript(ScriptableDelegate.java:70)
        at com.meterware.httpunit.HTMLElementScriptable.handleEvent(HTMLElementScriptable.java:95)
        at com.meterware.httpunit.HTMLElementBase.handleEvent(HTMLElementBase.java:94)
        at com.meterware.httpunit.FormControl.doOnChangeEvent(FormControl.java:282)
        at com.meterware.httpunit.FormControl.sendOnChangeEvent(FormControl.java:275)
        at com.meterware.httpunit.TextFormControl.claimValue(FormControl.java:766)
        at com.meterware.httpunit.FormParameter.setValues(FormParameter.java:117)
        at com.meterware.httpunit.WebForm.setParameter(WebForm.java:637)
        at com.meterware.httpunit.WebForm.setParameter(WebForm.java:623)
        at robo_22.Main.main(Main.java:86)

alguem tem alguma ideia porque isso acontece?

2 Respostas

R

ngm tem ideia?

R

pessoal?

Criado 31 de janeiro de 2010
Ultima resposta 10 de fev. de 2010
Respostas 2
Participantes 1