In order to carry out automated testing of a captcha-enabled application, it is necessary to allow the test to execute the page flow of the captcha screens. Obviously, the test framework cannot provide the appropriate challenge response, and so it is necessary to furnish the test with the expected response. If the application detects that a test is in progress, it could pre-populate the response field with the expected value.
Unfortunately, the Captcha interface does not expose the expected response. Please add a getResponse() method, or whatever it should be called, and also expose this via the CaptchaService interface. It seems unnecessarily restrictive to not even allow the application internals to obtain the expected response.