RIATest, a Flex GUI test automation tool released the beta product to public. InfoQ spoke to Tigran Najaryan, the founder and creator of RIATest, about this release.
Najaryan started with why RIATest was created:
RIATest is a GUI test automation tool for Adobe Flex 3 applications. RIATest is created to serve as simple, clean test automation solution for businesses and professional developers who are serious about quality assurance of their products. We are dedicated to aggressive pricing in order to bring test automation to large number of Flex users who were previously unable to afford other Flex test automation solutions available.
On how RIATest works, Najaryan explained:
Technically RIATest is composed of two parts: Agent and IDE (or command line Runner). Agent sits in browser-side of things and talks directly with the Application Under Test. Agent provides Component Inspector which allows to inspect and watch application GUI components and their properties. Agent also connects via TCP connection to IDE. Agent and IDE communicate over this connections during playback (IDE sends instructions to Agent and receives results) and recording (Agent notifies IDE about recorded actions).
Test scripts are written in RIAScript language. RIAScript is a simplified version of ActionScript (with a few minor extensions) - this makes it easy for developers familiar with ActionScript to write test scripts in RIATest.
How RIATest is developed? Najaryan went on:
I can say that RIATest is designed from day one to be a Flex 3 test automation tool and uses test automation framework available in Flex. RIATest IDE is written in C++ using wxWidgets library. RIATest Agent is developed in Flex 3.
Since there are other test tools available, infoQ asked Najaryan to compare RIATest to tools such as FlexUnit:
RIATest being a GUI test automation tool is a companion to other testing approaches such as unit testing. Naturally best quality assurance results are achieved when several different approaches for test automation are employed, including GUI automated testing and unit testing.
On testing connectivity such as HTTP request and SOAP connection:
Having built-in facility to synchronize automatically or manually on specific conditions RIATest is fully capable of automating applications that communicate with remote data sources. The 'waitfor' operator allows QA engineer to synchronize operation of test script with desirable state of components of Application Under Test.
In the end, Najaryan provided a code example to show what the test script looks like: