Testing for Elements on HTML Forms
Problem
You want to test for the existence of various elements in your HTML forms, such as buttons and fields.
Solution
Use HttpUnit’s
WebForm
class to
parse the HTML form. WebForm provides numerous
methods to check that buttons, fields, radio buttons, and other
elements exist on the page.
Discussion
Building on the example from the previous recipe, you might start by writing a test to check for the existence of buttons on the HTML page as shown here.
public void testButtonsOnSubscriptionForm( ) throws Exception {
WebForm form = getBlankSubscriptionForm( );
SubmitButton subscribeBtn = form.getSubmitButton("subscribeBtn");
SubmitButton unsubscribeBtn = form.getSubmitButton("unsubscribeBtn");
assertNotNull("subscribeBtn should not be null", subscribeBtn);
assertNotNull("unsubscribeBtn should not be null", unsubscribeBtn);
}The getBlankSubscriptionForm( ) method is shown
back in Example 5-5. When you first write this test,
it fails because the buttons do not exist yet. After observing the
test failure, you can update the JSP from Example 5-7 to include the two buttons.
<form method="post" action="subscription" id="subscriptionForm">
<input type="submit" name="subscribeBtn" value="Subscribe"/>
<input type="submit" name="unsubscribeBtn" value="Unsubscribe"/>
</form>Now, the testButtonsOnSubscriptionForm( ) test
should pass. Next, you might want to test for fields that allow the
user to enter their name and email address. Here is that test code:
public ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access