HtmlUnitSetTextAreaTag.java from Jameleon at Krugle
Show HtmlUnitSetTextAreaTag.java syntax highlighted
/*
Jameleon HtmlUnit plug-in - A plug-in that uses HtmlUnit to drive web sites
Copyright (C) 2006 Christian W. Hargraves (engrean@hotmail.com)
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111AssertLevel.NO_FUNCTION07 USA
*/
package net.sf.jameleon.plugin.htmlunit.tags;
import com.gargoylesoftware.htmlunit.html.SubmittableElement;
import com.gargoylesoftware.htmlunit.html.HtmlTextArea;
/**
* A tag which sets a text area to the provided value.
* <br/>
* To use XPath to set a text field named <b>testTextArea</b> that exists in a form with the name <b>testform</b>:
* <pre><source>
* <htmlunit-set-text-area
* functionId="Set the testTextArea field to 'some value'"
* xpath="//form[@name='testform']/textarea[@name='testTextArea']"
* value="some value"/>
* </source></pre>
* To use XPath to set a text area named <b>testTextArea</b> that doesn't exist in a form:
* <pre><source>
* <htmlunit-set-text-area
* functionId="Set the testTextArea field to 'some value'"
* xpath="//input[@name='testTextArea']"
* value="some value"/>
* </source></pre>
* To to set a text area named <b>testTextArea</b> that exists in a form with id or name of <b>form_test</b> w/o using XPath:
* <pre><source>
* <htmlunit-set-text-area
* functionId="Set the testTextArea field to 'some value'"
* form="form_test"
* fieldName="testTextArea"
* value="some value"/>
* </source></pre>
* To to set a text area named <b>testTextArea</b> that exists in the 2nd form <b>form_test</b> w/o using XPath:
* <pre><source>
* <htmlunit-set-text-area
* functionId="Set the testTextArea field to 'some value'"
* form="2"
* fieldName="testTextArea"
* value="some value"/>
* </source></pre>
* To to set a text field named <b>testTextArea</b> that exists in form define by <b>//table/tr[3]/td/form</b> XPath:
* <pre><source>
* <htmlunit-set-text-area
* functionId="Set the testTextArea field to 'some value'"
* form="//table/tr[3]/td/form"
* fieldName="testTextArea"
* value="some value"/>
* </source></pre>
* @jameleon.function name="htmlunit-set-text-area" type="action"
*/
public class HtmlUnitSetTextAreaTag extends AbstractHtmlUnitSetFormFieldTag{
protected void setFieldValueInForm(){
setTextArea(fieldName, value);
}
protected void setFieldValueFoundByXPath(SubmittableElement formField){
assertTrue(fieldName+" is not a textarea", formField instanceof HtmlTextArea);
HtmlTextArea textArea = (HtmlTextArea)formField;
textArea.setText(value);
}
}
See more files for this project here