SSSSSSSSo...You Want to Know About Apodora?
Apodora™ is a full-featured, testing automation framework for web applications, written in C#.
ACULIS, Inc., a global IT services company headquartered in Provo, Utah, providing comprehensive Software Development, QA / Testing, Globalization, and IT Staffing solutions, initiated the development of Apodora as an in-house testing tool. The variegated nature of the services businesshas helped to reinforce the tool and it is now mature enough that a newuser may install and use it with very little instruction.
Apodora is still under development, and ACULIS has many plans for feature additions in the near future (see Apodora Roadmap). By releasing the source code under an open-source license, we encourage the community to benefit from the tool and to contribute in creating something even better.
Apodora enables users to write test scripts that test the functionality of web applications.
An automation engineer may write scripts
in IronPython using the Apodora scripting language and will have access to manipulate a web browser and the objects contained in that browser.
The automation engineer may thus mimic manual steps in order to perform automated tests. The Apodora scripting language DLL is imported into
IronPython via the clr.AddReference function, so that all of the Apodora scripting language functions will be available to the automation engineer.
Apodora uses a database back-end to store information about HTML objects. When an Apodora script is executed, the tool performs lookups in
the database to retrieve information about the desired HTML objects. Using this information the Apodora scripting language can identify and
retrieve the desired object, and then provide programmatic control over the object to the automation engineer. Apodora allows the user to
configure how the database back-end and the Apodora scripting language will identify an HTML object. The user selects various attributes of
the HTML element to use in order to identify it. These attributes are then used to identify the desired object.
Apodora is different from other automation solutions because individual objects that exist on multiple web pages may be represented in the
database as a single object.
When object changes on the website, the user may change a single object in the database and that change will
effortlessly propagate throughout any script that uses that object. This addresses a problem of script maintenance that plagues some other
automation testing tools.
Other than the scripting engine itself, there are a number of features in Apodora that aid in the development and execution of the test
scripts. There's an Object Spy that allows the users to discover information about the objects in the web page. Apodora includes an object
maintenance tool which gives the user the ability to maintain their objects, as well as reporting tool that displays the events that occurred
during execution of a test script, and a batching tool that will allow the user to specify "batches" of scripts that should run in sequence.
Apodora users should have a general knowledge of HTML elements and attributes, a basic understanding or programming in Python, and programming concepts.
Much of the back-end functionality of Apodora is accessible to the user Apodora and is very extensible. Apodora functions may be called directly by
the user, enabling the user to work around problems which Apodora might not cover right now. Also because of the functionality of Python (which IronPython
is built on), users can implement their own modules, classes, functions, and the like enabling them to in effect create their own scripting language built
on top of Apodora/Python. The features of IronPython also grant the ability to import and use any CLR language. One user reports that he was able to import
his DLL directly into IronPython, and could then write his unit tests in Apodora.
Apodora Knowledge Base Quick Links:
Apodora Flash Tutorial
For a demonstration of how to script in Apodora please view the Apodora Flash Tutorial Video here. The demo will show a number of the core concepts of Apodora as listed below.

|