Automatic testing of Ajax from Java
Written by on March 22nd, 2007 in Ajax News.
Ed Burns (of Sun and the JSF expert group) has created an automated testing framework for Ajax in Java called MCP.
This framework stems from an old, old Mozilla project called the Mozilla Web Client started in 1999 as a part of the Sun/AOL/Netscape alliance. The ambitious misson statement of the project is:
The webclient project aims to provide the premier browser-neutral Java API that enables generic web browsing capability. This capability includes, but is not limited to: web content rendering, navigation, a history mechanism, and progress notification. The actual capabilities implemented depend on the underlying browser implementation.
You can tie unit tests into browser ajax events by using an AjaxListener and getting access to items such as the responseText/responseXML/HTTP headers, and more.
-
-
AjaxListener listener = new AjaxListener() {
-
public void endAjax(Map eventMap) {
-
bitSet.flip(TestFeature.RECEIVED_END_AJAX_EVENT.ordinal());
-
if (null != eventMap) {
-
bitSet.flip(TestFeature.HAS_MAP.ordinal());
-
}
-
// Make some assertions about the response text
-
if (null != responseText) {
-
if (-1 != responseText.indexOf(”<partial -response>”) &&
-
-1 != responseText.indexOf(”</partial>”)) {
-
bitSet.flip(TestFeature.HAS_VALID_RESPONSE_TEXT.ordinal());
-
}
-
}
-
eventMap.get(”responseXML”);
-
Element rootElement = null, element = null;
-
Node node = null;
-
String tagName = null;
-
try {
-
rootElement = responseXML.getDocumentElement();
-
tagName = rootElement.getTagName();
-
if (tagName.equals(”partial-response”)) {
-
element = (Element) rootElement.getFirstChild();
-
tagName = element.getTagName();
-
…
-
Check out the two part screencast of this in action:
Source: Ajaxian
Original Article: http://ajaxian.com/archives/automatic-testing-of-ajax-from-java