DOM is w3c standard for navigating through the objects of a structured doc,
Same can be used for exercising HTML/XML docs.
In HTML, each element is referred as an object hence text box, dropdown, radio
button etc are objects. These objects have properties (like max length in case
of text box etc) and methods. Herein properties of objects can be collected in
selenium through evaluation of java script and then these can be compared
against expected values. For example one can collect max length and size
properties of text box by evaluating java script through getEval function as
following -
selenium.getEval("var property = new Array(); property[0] =
window.document.getElementsByName('empNumber')[0].maxLength;" +
"property[1] = window.document.getElementsByName('empNumber')[0].size;
property.toString();");
/**** I have explained evaluation of js in issue - 9211 ****/
Now individual properties can be collected in an string array as following -
String[] Textproperties = collectTextProperty.split(",");
And then this can be compared against expected values.
Below I have listed the HTML Element object and their properties which are
useful for testing. Please add on to this if I have missed any.
/*****************************************************************************/
Anchor Object - href
Button Object – disabled
Form Object - elements[]
Frame Object – marginHeight, marginWidth
IFrame Object – height, marginHeight, marginWidth, width
Image Object – height, hspace, vspace, width, src
Checkbox Object - checked, disabled
FileUpload Object – disabled, value
Password Object – defaultValue, disabled, maxLength, size, value
Radio Object – checked, disabled, type, value
Submit Object – disabled, value
Text Object – defaultValue, disabled, maxLength, readOnly, size, value
Link Object – disabled, href
Meta Object – content
Option Object - defaultSelected, disabled, label, selected, text, value
Select Object - options[],disabled, length, multiple, size
/*****************************************************************************/
For details on these properties look here -
http://www.w3schools.com/htmldom/
Selenium also has prebuilt methods which can be used to test the position of
elements in a web page. These methods are as following -
getElementHeight(java.lang.String locator)
getElementPositionLeft(java.lang.String locator)
getElementPositionTop(java.lang.String locator)
getElementWidth(java.lang.String locator)
Using these methods one can build UI tests regarding position of elements.
Ant is a build tool which could be used to have your tests running either from command line or from Hudson CI tool. There is detailed documentation available for ant here but probably you need to know only a little part of it for you selenium tests. The essentials which are needed to know are: Project Target (ant execution point and collection of tasks) Tasks (could be as simple as compilation) And there would usually be following targets for Selenium tools - setClassPath - so that ant knows where you jar files are loadTestNG - so that you could use testng task in ant and use it to execute testng tests from ant init - created the build file clean - delete the build file compile - compiles the selenium tests run - executes the selenium tests Here is my project set up for ant -
Comments
Post a Comment
No spam only genuine comments :)