package org.jzonic.webtester.commands;
import org.jzonic.webtester.WebTestContext;
import com.meterware.httpunit.SubmitButton;
import com.meterware.httpunit.WebForm;
import com.meterware.httpunit.WebResponse;
/**
* This command will submit the selected form.
* <br/>
* parameter: name of the button
* <br/>
* examples:
* <br/>
* submit_form | btnSave
*
* @author Mecky
*/
public class SubmitFormCommand implements WebTestNode {
public static final String COMMAND_NAME = "submit_form";
private String btnName;
public void setParameter(String value) {
btnName = value;
}
public WebTestNodeResult execute(WebTestContext context) {
WebTestNodeResult result = new WebTestNodeResult(COMMAND_NAME,btnName);
WebForm form = context.getWebForm();
if ( form != null ) {
try {
SubmitButton btn = form.getSubmitButton(btnName);
WebResponse resp = form.submit(btn);
context.setResponse(resp);
result.setSuccess(true);
} catch (Exception e) {
result.setSuccess(false);
result.setException(e);
}
}
else {
result.setErrorMessage("submit_form: No form selected");
result.setSuccess(false);
}
return result;
}
public String getName() {
return COMMAND_NAME;
}
}
|