net.sf.jameleon.plugin.watij.tags
Class WatijAssertHtmlElementTag

java.lang.Object
  extended by org.apache.commons.jelly.TagSupport
      extended by net.sf.jameleon.LocationAwareTagSupport
          extended by net.sf.jameleon.JameleonTagSupport
              extended by net.sf.jameleon.function.FunctionTag
                  extended by net.sf.jameleon.plugin.watij.WatijFunctionTag
                      extended by net.sf.jameleon.plugin.watij.tags.AbstractWatijGetTag
                          extended by net.sf.jameleon.plugin.watij.tags.WatijAssertHtmlElementTag
All Implemented Interfaces:
BreakPoint, Attributable, Storable, DynaTag, LocationAware, Tag
Direct Known Subclasses:
WatijAssertTextFieldTag

public class WatijAssertHtmlElementTag
extends AbstractWatijGetTag

Gets an HtmlElement on the page and validates its attributes and inner text. For example, to get a button on the page and verify various things about it:


 <testcase xmlns="jelly:jameleon" xmlns:j="jelly:core">
     <watij-session baseUrl="http://jameleon.sourceforge.net/jiffie-plugin/forms/sampleForm.html" beginSession="true">
         <watij-assert-html-element
             functionId="Validate the 'submit' button"
             how="name"
             what="submit"
             value="Go"
             type="button"
             />
     </watij-session>
 </testcase>
 
To simply test that the element exists:

 <testcase xmlns="jelly:jameleon" xmlns:j="jelly:core">
     <watij-session baseUrl="http://jameleon.sourceforge.net/jiffie-plugin/forms/sampleForm.html" beginSession="true">
         <watij-assert-html-element
             functionId="Validate the 'submit' button"
             how="name"
             what="submit"
             />
     </watij-session>
 </testcase>
 
To test that the element does not exist:

 <testcase xmlns="jelly:jameleon" xmlns:j="jelly:core">
     <watij-session baseUrl="http://jameleon.sourceforge.net/jiffie-plugin/forms/sampleForm.html" beginSession="true">
         <watij-assert-html-element
             functionId="Validate the 'submit' button"
             how="name"
             what="submit"
             exists="false"
             />
     </watij-session>
 </testcase>
 
To verify the followig XPath returns a tag:

 <testcase xmlns="jelly:jameleon" xmlns:j="jelly:core">
     <watij-session baseUrl="http://jameleon.sourceforge.net/jiffie-plugin/forms/sampleForm.html" beginSession="true">
         <watij-assert-html-element
             functionId="Validate the 'submit' button"
             how="xpath"
             what="//INPUT[@name='submit']"
             />
     </watij-session>
 </testcase>
 
The above can then be used to verify various other things once the tag is returned. However, XPath should be able to verify everything w/o having to do additional validation of the attributes. If only symbol and element are defined, then the tag will be tested for existence. See the javadocs on watij's SymbolFactory for a complete list of supported symbols.

Tag Name: <watij-assert-html-element> Type: action

Field Summary
protected  Boolean disabled
          To validate the element is enabled set this to false.
protected  boolean exists
          To check that it exists or not.
protected  String id
          The expected id
protected  String innerText
          The inner text of the element
protected  String name
          The name of the element
protected  String style
          The style of the element
protected  String text
          The text nested in the element
protected  String title
          The title nested in the element
protected  String type
          The type of the element
protected  String value
          The value of the element
 
Fields inherited from class net.sf.jameleon.plugin.watij.tags.AbstractWatijGetTag
contextVar, failOnNotExists, how, what
 
Fields inherited from class net.sf.jameleon.plugin.watij.WatijFunctionTag
sessionTag, STORE_SOURCE_CONFIG_NAME, storeSourceOnStateChange
 
Fields inherited from class net.sf.jameleon.function.FunctionTag
addt, breakPoint, expectException, expectFailure, fResults, functionDelay, functionId, lastFileWritten, log, NO_DELAY, params, postcondition, precondition, st, state, tct, vpt
 
Fields inherited from class net.sf.jameleon.JameleonTagSupport
attributes, broker, contextVars, fp, unsupportedAttributes
 
Fields inherited from class net.sf.jameleon.LocationAwareTagSupport
columnNumber, elementTagName, lineNumber, scriptFileName
 
Fields inherited from class org.apache.commons.jelly.TagSupport
body, context, hasTrimmed, parent, shouldTrim
 
Constructor Summary
WatijAssertHtmlElementTag()
           
 
Method Summary
 void assertAttributes(HtmlElement e)
           
 HtmlElement getHtmlElement(Symbol how, String what)
          Gets the HtmlElement of interest.
 String getTagName()
          The HTML Element name this tag is used to get.
 void testBlock()
           
 
Methods inherited from class net.sf.jameleon.plugin.watij.tags.AbstractWatijGetTag
getHtmlElement, getPrefixMsg
 
Methods inherited from class net.sf.jameleon.plugin.watij.WatijFunctionTag
getParentBrowser, getSymbolFromString, ie, setCurrentIE, setupEnvironment, store
 
Methods inherited from class net.sf.jameleon.function.FunctionTag
addParam, addRequiredAttribute, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertFalse, assertFalse, assertMethod, assertMethodWithLevel, assertNotNull, assertNotNull, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNotSame, assertNotSame, assertNull, assertNull, assertNull, assertNull, assertRegexMatches, assertRegexMatches, assertRegexMatches, assertRegexMatches, assertSame, assertSame, assertSame, assertSame, assertTextContains, assertTextContains, assertTextContains, assertTextContains, assertTextEndsWith, assertTextEndsWith, assertTextEndsWith, assertTextEndsWith, assertTextStartsWith, assertTextStartsWith, assertTextStartsWith, assertTextStartsWith, assertTrue, assertTrue, assertTrue, assertTrue, checkParamTypes, cleanUp, cleanUpEnvironment, delay, delay, doTag, fail, fail, fail, fail, getFunctionId, getFunctionResults, getMatchingRegexText, getParam, getParamLength, getParams, getParentTags, getSessionTag, getStoreToFileName, getStringOrDefault, getTestCaseTag, getVariable, getVariableAsBoolean, getVariableAsList, getVariableAsString, isBreakPoint, isContextVariableNull, pluginTearDown, recordFunctionResult, regexMatches, removeFunctionResult, removeVariable, setDefaultVariableValue, setDefaultVariableValue, setExpectException, setExpectFailure, setFunctionDelay, setFunctionId, setup, setUpFunctionResults, setVariable, tearDown, traceMsg, validate
 
Methods inherited from class net.sf.jameleon.JameleonTagSupport
cleanVariablesInContext, createAttributes, describeAttributes, getAttributeBroker, getAttributes, getAttributeType, getClassAttributes, getFunctionalPoint, getUnsupportedAttributes, loadFunctionalPoint, resetFunctionalPoint, setAttribute, setVariableInContext, testForUnsupportedAttributesCaught
 
Methods inherited from class net.sf.jameleon.LocationAwareTagSupport
getColumnNumber, getElementName, getFileName, getLineNumber, setColumnNumber, setElementName, setFileName, setLineNumber
 
Methods inherited from class org.apache.commons.jelly.TagSupport
findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, getBody, getBodyText, getBodyText, getContext, getParent, invokeBody, isEscapeText, isTrim, setBody, setContext, setEscapeText, setParent, setTrim, trimBody
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.commons.jelly.Tag
getBody, getContext, getParent, invokeBody, setBody, setContext, setParent
 

Field Detail

exists

protected boolean exists
To check that it exists or not. If set to false, then the tag will if the element exists.

This attribute is recognized by Jameleon
Default Value: true

disabled

protected Boolean disabled
To validate the element is enabled set this to false. To validate the element is disalbed set this to true.

This attribute is recognized by Jameleon

id

protected String id
The expected id

This attribute is recognized by Jameleon

innerText

protected String innerText
The inner text of the element

This attribute is recognized by Jameleon

name

protected String name
The name of the element

This attribute is recognized by Jameleon

style

protected String style
The style of the element

This attribute is recognized by Jameleon

text

protected String text
The text nested in the element

This attribute is recognized by Jameleon

title

protected String title
The title nested in the element

This attribute is recognized by Jameleon

type

protected String type
The type of the element

This attribute is recognized by Jameleon

value

protected String value
The value of the element

This attribute is recognized by Jameleon
Constructor Detail

WatijAssertHtmlElementTag

public WatijAssertHtmlElementTag()
Method Detail

testBlock

public void testBlock()
               throws Exception
Overrides:
testBlock in class AbstractWatijGetTag
Throws:
Exception

getHtmlElement

public HtmlElement getHtmlElement(Symbol how,
                                  String what)
                           throws Exception
Description copied from class: AbstractWatijGetTag
Gets the HtmlElement of interest. Each subclass will implement the code required to get the specific element of interest.

Specified by:
getHtmlElement in class AbstractWatijGetTag
Parameters:
how - - How to search for the element
what - - What to search for.
Returns:
HtmlElement
Throws:
Exception

getTagName

public String getTagName()
Description copied from class: AbstractWatijGetTag
The HTML Element name this tag is used to get. For example, if the tag is used to get an image, then this method might return something like img tag

Specified by:
getTagName in class AbstractWatijGetTag
Returns:
String

assertAttributes

public void assertAttributes(HtmlElement e)
                      throws Exception
Throws:
Exception


Copyright © 2006-2008 Christian Hargraves. All Rights Reserved.