Skip to content

Commit f9c609f

Browse files
authored
Merge pull request LambdaTest#1665 from amanchopra1905/stage
accessibility app testing manual
2 parents 3325392 + 5ebc3e1 commit f9c609f

File tree

6 files changed

+201
-102
lines changed

6 files changed

+201
-102
lines changed
171 KB
Loading
Binary file not shown.
Binary file not shown.
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
---
2+
id: accessibility-android-automation-test
3+
title: Automation Tests with Accessibility Tool using Android
4+
sidebar_label: Automation
5+
description: Use LambdaTest Accessibility DevTools to detect and report accessibility issues with automation, following WCAG guidelines.
6+
keywords:
7+
- LambdaTest
8+
- Accessibility
9+
- Testing
10+
- Automation
11+
- Accessibility Testing Settings
12+
url: https://www.lambdatest.com/support/docs/accessibility-android-automation-test/
13+
site_name: LambdaTest
14+
slug: accessibility-android-automation-test/
15+
---
16+
17+
import CodeBlock from '@theme/CodeBlock';
18+
import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys";
19+
import Tabs from '@theme/Tabs';
20+
import TabItem from '@theme/TabItem';
21+
22+
<script type="application/ld+json"
23+
dangerouslySetInnerHTML={{ __html: JSON.stringify({
24+
"@context": "https://schema.org",
25+
"@type": "BreadcrumbList",
26+
"itemListElement": [{
27+
"@type": "ListItem",
28+
"position": 1,
29+
"name": "Home",
30+
"item": "https://www.lambdatest.com"
31+
},{
32+
"@type": "ListItem",
33+
"position": 2,
34+
"name": "Support",
35+
"item": "https://www.lambdatest.com/support/docs/"
36+
},{
37+
"@type": "ListItem",
38+
"position": 3,
39+
"name": "Accessibility Android Test",
40+
"item": "https://www.lambdatest.com/support/docs/accessibility-android-automation-test/"
41+
}]
42+
})
43+
}}
44+
></script>
45+
46+
This guide walks you through automating accessibility testing of a native Android app using **LambdaTest's Accessibility Automation Tool (Beta) via Appium**. You'll run an automated accessibility scan on a real Android device hosted on LambdaTest’s real device cloud infrastructure.
47+
48+
## Prerequisites
49+
50+
- Your [LambdaTest Username and Access key](/support/docs/using-environment-variables-for-authentication-credentials/)
51+
- Python 3.x or Java JDK 8+ installed
52+
- Appium Python Client or Java Client Library
53+
54+
## Step-by-Step Guide to Trigger Your Test
55+
56+
### Step 1: Setup Your Test Suite
57+
58+
You can use your own project to configure and test it. For demo purposes, we are using the sample repository.
59+
60+
:::tip sample repo
61+
Download or Clone the code sample from the LambdaTest GitHub repository to run your tests.
62+
63+
<a href="https://github.com/LambdaTest/lambdatest-accessibility-selenium" className="github__anchor"><img loading="lazy" src={require('../assets/images/icons/github.png').default} alt="Image" className="doc_img"/> View on GitHub</a>
64+
:::
65+
66+
If you are using your own project, make sure you update the **Hub endpoint** in your tests file. By setting up the Hub endpoint, you establish the communication channel between your tests and the browser nodes, enabling effective test distribution and execution.
67+
68+
Configure the desired capabilities based on your test requirements. For example:
69+
70+
<Tabs className="docs__val">
71+
72+
<TabItem value="python" label="Python" default>
73+
74+
<div className="lambdatest__codeblock">
75+
76+
```python
77+
desired_cap = {
78+
"platform": "android",
79+
"isRealMobile": True,
80+
"app": "lt://APP", # Replace with your LambdaTest App URL
81+
"accessibility": True,
82+
"buildName": "Accessibility-lambda",
83+
"idleTimeout": 1800,
84+
"build": "NewAppiumBuild",
85+
"name": "MyTest",
86+
"devicelog": True
87+
}
88+
```
89+
90+
</div>
91+
92+
</TabItem>
93+
94+
<TabItem value="java" label="Java" default>
95+
96+
<div className="lambdatest__codeblock">
97+
```java
98+
DesiredCapabilities caps = new DesiredCapabilities();
99+
caps.setCapability("platform", "android");
100+
caps.setCapability("isRealMobile", true);
101+
caps.setCapability("app", "lt://APPID"); // Replace with your App ID
102+
caps.setCapability("accessibility", true);
103+
caps.setCapability("idleTimeout", 1800);
104+
caps.setCapability("build", "AccessibilityScanBuild");
105+
caps.setCapability("name", "MyTest");
106+
caps.setCapability("devicelog", true);
107+
```
108+
</div>
109+
110+
</TabItem>
111+
</Tabs>
112+
113+
114+
> You can generate capabilities for your test requirements with the help of our inbuilt 🔗 [Capabilities Generator Tool](https://www.lambdatest.com/capabilities-generator/).
115+
116+
### Step 2: Establish User Authentication
117+
118+
Now, you need to export your environment variables *LT_USERNAME* and *LT_ACCESS_KEY* that are available in the [LambdaTest Profile page](https://accounts.lambdatest.com/detail/profile).
119+
120+
Run the below mentioned commands in your terminal to setup the CLI and the environment variables.
121+
122+
<Tabs className="docs__val">
123+
124+
<TabItem value="bash" label="Linux / MacOS" default>
125+
126+
<div className="lambdatest__codeblock">
127+
<CodeBlock className="language-bash">
128+
{`export LT_USERNAME="${ YOUR_LAMBDATEST_USERNAME()}"
129+
export LT_ACCESS_KEY="${ YOUR_LAMBDATEST_ACCESS_KEY()}"`}
130+
</CodeBlock>
131+
</div>
132+
133+
</TabItem>
134+
135+
<TabItem value="powershell" label="Windows" default>
136+
137+
<div className="lambdatest__codeblock">
138+
<CodeBlock className="language-powershell">
139+
{`set LT_USERNAME="${ YOUR_LAMBDATEST_USERNAME()}"
140+
set LT_ACCESS_KEY="${ YOUR_LAMBDATEST_ACCESS_KEY()}"`}
141+
</CodeBlock>
142+
</div>
143+
144+
</TabItem>
145+
</Tabs>
146+
147+
### Step 3: Execute and Monitor your Test
148+
149+
Now execute your tests and visit the [Automation Dashboard](https://accounts.lambdatest.com/dashboard). Click on the Accessibility tab and check the report generated.
150+
151+
```bash
152+
mvn test
153+
```
154+
155+
<img loading="lazy" src={require('../assets/images/accessibility-testing/accessibility-automation.png').default} alt="automation-dashboard" className="doc_img"/>

docs/accessibility-android-test.md

Lines changed: 40 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
22
id: accessibility-android-test
3-
title: Automation Tests with Accessibility Tool using Android
4-
sidebar_label: Automation
3+
title: Accessibility Testing Using App Manual Testing
4+
sidebar_label: Manual
55
description: Use LambdaTest Accessibility DevTools to detect and report accessibility issues with automation, following WCAG guidelines.
66
keywords:
77
- LambdaTest
88
- Accessibility
99
- Testing
10-
- Automation
10+
- Manual
1111
- Accessibility Testing Settings
1212
url: https://www.lambdatest.com/support/docs/accessibility-android-test/
1313
site_name: LambdaTest
@@ -42,114 +42,53 @@ import TabItem from '@theme/TabItem';
4242
})
4343
}}
4444
></script>
45-
46-
This guide walks you through automating accessibility testing of a native Android app using **LambdaTest's Accessibility Automation Tool (Beta) via Appium**. You'll run an automated accessibility scan on a real Android device hosted on LambdaTest’s real device cloud infrastructure.
45+
LambdaTest offers a powerful Accessibility Scanner for native Android apps, integrated seamlessly with our manual app testing environment. This helps QA teams and developers identify accessibility issues directly during real-time testing sessions. Follow this guide to understand how to perform accessibility scans manually.
4746

4847
## Prerequisites
48+
- You must have access to the LambdaTest Real Device Cloud.
49+
- Your Android app (.apk or .aab) should be uploaded to the platform.
50+
- Ensure you have enabled the Accessibility feature from your account or project settings, if applicable.
4951

50-
- Your [LambdaTest Username and Access key](/support/docs/using-environment-variables-for-authentication-credentials/)
51-
- Python 3.x or Java JDK 8+ installed
52-
- Appium Python Client or Java Client Library
53-
54-
## Step-by-Step Guide to Trigger Your Test
55-
56-
### Step 1: Setup Your Test Suite
57-
58-
You can use your own project to configure and test it. For demo purposes, we are using the sample repository.
59-
60-
:::tip sample repo
61-
Download or Clone the code sample from the LambdaTest GitHub repository to run your tests.
62-
63-
<a href="https://github.com/LambdaTest/lambdatest-accessibility-selenium" className="github__anchor"><img loading="lazy" src={require('../assets/images/icons/github.png').default} alt="Image" className="doc_img"/> View on GitHub</a>
64-
:::
65-
66-
If you are using your own project, make sure you update the **Hub endpoint** in your tests file. By setting up the Hub endpoint, you establish the communication channel between your tests and the browser nodes, enabling effective test distribution and execution.
67-
68-
Configure the desired capabilities based on your test requirements. For example:
69-
70-
<Tabs className="docs__val">
71-
72-
<TabItem value="python" label="Python" default>
73-
74-
<div className="lambdatest__codeblock">
75-
76-
```python
77-
desired_cap = {
78-
"platform": "android",
79-
"isRealMobile": True,
80-
"app": "lt://APP", # Replace with your LambdaTest App URL
81-
"accessibility": True,
82-
"buildName": "Accessibility-lambda",
83-
"idleTimeout": 1800,
84-
"build": "NewAppiumBuild",
85-
"name": "MyTest",
86-
"devicelog": True
87-
}
88-
```
89-
90-
</div>
91-
92-
</TabItem>
93-
94-
<TabItem value="java" label="Java" default>
95-
96-
<div className="lambdatest__codeblock">
97-
```java
98-
DesiredCapabilities caps = new DesiredCapabilities();
99-
caps.setCapability("platform", "android");
100-
caps.setCapability("isRealMobile", true);
101-
caps.setCapability("app", "lt://APPID"); // Replace with your App ID
102-
caps.setCapability("accessibility", true);
103-
caps.setCapability("idleTimeout", 1800);
104-
caps.setCapability("build", "AccessibilityScanBuild");
105-
caps.setCapability("name", "MyTest");
106-
caps.setCapability("devicelog", true);
107-
```
108-
</div>
109-
110-
</TabItem>
111-
</Tabs>
112-
113-
114-
> You can generate capabilities for your test requirements with the help of our inbuilt 🔗 [Capabilities Generator Tool](https://www.lambdatest.com/capabilities-generator/).
115-
116-
### Step 2: Establish User Authentication
117-
118-
Now, you need to export your environment variables *LT_USERNAME* and *LT_ACCESS_KEY* that are available in the [LambdaTest Profile page](https://accounts.lambdatest.com/detail/profile).
119-
120-
Run the below mentioned commands in your terminal to setup the CLI and the environment variables.
121-
122-
<Tabs className="docs__val">
52+
## Steps to perform Accessibility Testing using the App Scanner
53+
### Step 1: Navigate to the Accessibility Section
54+
- Log in to your LambdaTest dashboard.
55+
- From the left-hand menu, click on Accessibility.
56+
- Select the **App Scanner** tab under the Accessibility tab.
12357

124-
<TabItem value="bash" label="Linux / MacOS" default>
58+
<img loading="lazy" src={require('../assets/images/accessibility-testing/app-automation/app-scanner.gif').default} alt="Image" className="doc_img"/>
12559

126-
<div className="lambdatest__codeblock">
127-
<CodeBlock className="language-bash">
128-
{`export LT_USERNAME="${ YOUR_LAMBDATEST_USERNAME()}"
129-
export LT_ACCESS_KEY="${ YOUR_LAMBDATEST_ACCESS_KEY()}"`}
130-
</CodeBlock>
131-
</div>
60+
### Step 2: Launch Manual App Testing
61+
- Choose the target Android device and upload/select your application.
62+
- Click Start to launch the manual testing session on the selected device.
13263

133-
</TabItem>
64+
### Step 3: Scan the App Screens
65+
Once inside the manual testing environment:
13466

135-
<TabItem value="powershell" label="Windows" default>
67+
- Interact with your app just like a real user — navigate through different screens, buttons, and views.
68+
- As you reach a screen you want to test for accessibility:
69+
- Open the Accessibility tab from the left control panel.
70+
- Click on Scan Page.
13671

137-
<div className="lambdatest__codeblock">
138-
<CodeBlock className="language-powershell">
139-
{`set LT_USERNAME="${ YOUR_LAMBDATEST_USERNAME()}"
140-
set LT_ACCESS_KEY="${ YOUR_LAMBDATEST_ACCESS_KEY()}"`}
141-
</CodeBlock>
142-
</div>
72+
The scanner will analyze the current screen and return a list of detected accessibility issues.
14373

144-
</TabItem>
145-
</Tabs>
74+
### Step 4: Review Accessibility Issues
75+
After scanning, you’ll see a categorized list of issues based on severity (Critical, Serious, Moderate, Minor). Each issue includes:
76+
- Description of the accessibility problem.
77+
- List of affected element.
78+
- Suggested fix or recommendation.
14679

147-
### Step 3: Execute and Monitor your Test
80+
Continue testing by navigating to additional screens in the app and scanning them one-by-one. This helps ensure that your entire app meets accessibility standards across all flows and use cases.
14881

149-
Now execute your tests and visit the [Automation Dashboard](https://accounts.lambdatest.com/dashboard). Click on the Accessibility tab and check the report generated.
82+
<video class="right-side" width="100%" controls id="vid">
83+
<source src= {require('../assets/images/accessibility-testing/app-automation/maunal-app-accessiblity.mp4').default} type="video/mp4" />
84+
</video>
15085

151-
```bash
152-
mvn test
153-
```
86+
### Step 5: Accessibility Report
87+
After completion of your scanning, click on the **Save Test** button.
88+
- Go to the **Manual Reports** tab under the Accessibility tab.
89+
- Select your desired report
90+
- You can also share the report over email, export it in JSON, CSV and PDF format, and also you create an issue as well for that report.
15491

155-
<img loading="lazy" src={require('../assets/images/accessibility-testing/accessibility-automation.png').default} alt="automation-dashboard" className="doc_img"/>
92+
<video class="right-side" width="100%" controls id="vid">
93+
<source src= {require('../assets/images/accessibility-testing/app-automation/manual-app-accessibility-report.mp4').default} type="video/mp4" />
94+
</video>

sidebars.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1742,9 +1742,14 @@ module.exports = {
17421742
items: [
17431743
{
17441744
type: "doc",
1745-
label: "Automation",
1745+
label: "Manual",
17461746
id: "accessibility-android-test",
17471747
},
1748+
{
1749+
type: "doc",
1750+
label: "Automation",
1751+
id: "accessibility-android-automation-test",
1752+
},
17481753
]
17491754
},
17501755
{

0 commit comments

Comments
 (0)