Testing an android accessibility service?
Asked Answered
C

1

8

I'm developing an Android application with a service that extends AccessibilityService. I'd like to be able to test this without mocking out the accessibility framework.

Does anyone have some recommendation on the best way to go about this?

I'd like to set up some different activities, move between them, and verify that my accessibility service responds correctly. I tried using a ServiceTestCase, but unfortunately that requires you set up the service yourself. I'm not sure how to set it up in a way similar to how the accessibility framework will set it up for me.

Chacon answered 12/5, 2012 at 0:34 Comment(0)
T
-3

Based on:

Create a Service extending AccessibilityService:

public class TestService extends AccessibilityService {

  @Override
  public void onAccessibilityEvent(AccessibilityEvent evt) {
    //Your coding here   
  }

}

In your manifest file:

<service android:name=".TestService" android:enabled="true" >
    <intent-filter>
        <action android:name="android.accessibilityservice.AccessibilityService" />
    </intent-filter>
    <meta-data android:name="android.accessibilityservice" android:resource="@xml/accessibilityservice" />
</service>

In your resources (xml folder), create accessibilityservice.xml:

<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
                       android:accessibilityEventTypes="typeNotificationStateChanged"
                       android:accessibilityFeedbackType="feedbackAllMask"
                       android:notificationTimeout="100" />
Thurstan answered 8/6, 2013 at 18:5 Comment(3)
I see that last paragraph copy/pasted all over, and I want to clarify for future readers that the android:accessibilityEventTypes="typeNotificationStateChanged" will need to be changed to the kinds of events you are interested in receiving. If you want all events, use typeAllMask.Hideout
How it helps him to test it?Latoyalatoye
how is this related to testing of accessibility service?Presidio

© 2022 - 2024 — McMap. All rights reserved.