Just announced: Level Access and eSSENTIAL Accessibility agree to merge! Read more.

As we noted in our last post on AMP and Functional Testing the Fall 2010 release introduced support for direct integration between AMP and a functional testing system via a web service API. As part of that we have taken extensive steps to closely integrate AMP with the Selenium testing center exposing accessibility testing directly in Selenium Remote Control and the Selenium IDE. This exposure provides JavaScript extensions for the IDE and a high level Java API that can be used by SeleniumTestCase, JUnit, or TestNG classes to provide unit testing coverage for accessibility standards such as Section 508 or WCAG.

General Use

The JavaScript API extends Selenium and provides a set of commands that allow the Application Under Test (AUT) to be checked for compliance with a set of accessibility standards defined by the tester in AMP. The JavaScript extensions can either be loaded into the Selenium IDE for testing on the desktop of the web developer or into the Selenium Remote Control server to allow SSB’s accessibility tests to be run in an automated test environment. The results of these tests with Selenium are evaluated as pass/fail items and the criteria for each is configurable so the test environment and each stage of development can define the level of testing that should be performed. In addition to the pass/fail TestCases in Selenium the status of the AUT and the discreet violations of the standards are recorded in AMP. This allows a developer that receives a report to quickly drill into the report, identify the source and cause of individual violations, address the issues using the code level implementation guidance in AMP and review a variety of unit tests that can be used to ensure the issue has been properly fixed.

Integration Points

SSB generally provides two primary methods of testing integration with Selenium. The first approach exposes accessibility via a web services API call to AMP that can be used to evaluate AUTs. The AMP server that provides the testing support can be provided via a public hosted AMP site or behind a firewall. This approach can be deployed and integrated rapidly with little incremental setup or coding activity on the part of the developer.

The second approach provides for integrating testing directly via the SSB Bart Group’s accessibility testing engine, InFocus. Since InFocus is written in Java if the Selenium Java driver is used to control the testing environment then the InFocus Java API can be added directly into the TestCases. This allows for greater flexibility in implementation and runtime access to the accessibility test record for the AUT as well as customizable assessment of the types of standards and best practices that should be escalated for remediation.