// Copyright � 2004-2005 ASERT. Released under the Canoo Webtest license.
package com.canoo.webtest.steps.request;
import com.canoo.webtest.engine.StepExecutionException;
import com.canoo.webtest.self.TestBlock;
import com.canoo.webtest.self.ThrowAssert;
import com.canoo.webtest.steps.BaseStepTestCase;
import com.canoo.webtest.steps.Step;
/**
* Test class for {@link ClickElementTest}.<p>
*
* @author Paul King
*/
public class ClickElementTest extends BaseStepTestCase
{
private ClickElement fStep;
private final TestBlock fBlock = new TestBlock()
{
public void call() throws Exception {
executeStep(fStep);
}
};
protected Step createStep() {
return new ClickElement();
}
protected void setUp() throws Exception {
super.setUp();
fStep = (ClickElement) getStep();
}
public void testVerifyParameterUsage() {
// <clickElement />
String message = ThrowAssert.assertThrows(StepExecutionException.class, fBlock);
assertEquals("\"htmlId\" or \"xPath\" must be set!", message);
// <clickElement htmlId="X" xPath="Y" />
fStep.setHtmlId("X");
fStep.setXpath("Y");
message = ThrowAssert.assertThrows(StepExecutionException.class, fBlock);
assertEquals("Only one from \"htmlId\" and \"xPath\" can be set!", message);
}
public void testVerifyParametersWithoutPreviousPage() {
fStep.setHtmlId("someId");
assertStepRejectsNullResponse(fStep);
}
}