Skip to content

Commit 3b08a48

Browse files
virtual devices list - via API trial
1 parent 588c7bc commit 3b08a48

File tree

3 files changed

+113
-10
lines changed

3 files changed

+113
-10
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
id: emulator-simulator-avaiable-devices
3+
title: Emulator and Simulator Devices
4+
hide_title: false
5+
sidebar_label: Devices List - Emulator/Simulator
6+
description: List of devices available on Emulator and Simulator
7+
keywords:
8+
- lambdatest
9+
- emulator
10+
- simulator
11+
- devices
12+
url: https://www.lambdatest.com/support/docs/emulator-simulator-avaiable-devices/
13+
site_name: LambdaTest
14+
slug: emulator-simulator-avaiable-devices/
15+
---
16+
17+
import Tabs from '@theme/Tabs';
18+
import TabItem from '@theme/TabItem';
19+
import DeviceList from '@site/src/component/DeviceList'
20+
21+
<script type="application/ld+json"
22+
dangerouslySetInnerHTML={{ __html: JSON.stringify({
23+
"@context": "https://schema.org",
24+
"@type": "BreadcrumbList",
25+
"itemListElement": [{
26+
"@type": "ListItem",
27+
"position": 1,
28+
"name": "Home",
29+
"item": "https://www.lambdatest.com"
30+
},{
31+
"@type": "ListItem",
32+
"position": 2,
33+
"name": "Appium",
34+
"item": "https://www.lambdatest.com/support/docs/"
35+
},{
36+
"@type": "ListItem",
37+
"position": 3,
38+
"name": "Virtual Devices List",
39+
"item": "https://www.lambdatest.com/support/docs/emulator-simulator-avaiable-devices/"
40+
}]
41+
})
42+
}}
43+
></script>
44+
45+
<DeviceList />

sidebars.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2413,16 +2413,9 @@ module.exports = {
24132413
},
24142414
},
24152415
[
2416-
{
2417-
type: "doc",
2418-
label: "Emulator / Simulator",
2419-
id: "app-automation-app-sim",
2420-
},
2421-
{
2422-
type: "doc",
2423-
label: "Flutter",
2424-
id: "virtual-device-flutter-apps",
2425-
},
2416+
"app-automation-app-sim",
2417+
"virtual-device-flutter-apps",
2418+
"emulator-simulator-avaiable-devices"
24262419
],
24272420
],
24282421

src/component/DeviceList.js

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import React, { useState, useEffect } from 'react';
2+
3+
const DeviceList = () => {
4+
const [devices, setDevices] = useState([]);
5+
const [loading, setLoading] = useState(true);
6+
const [error, setError] = useState(null);
7+
8+
useEffect(() => {
9+
const API_URL = 'https://mobile-api.lambdatest.com/mobile-automation/api/v1/capability/generator?isVirtualDevice=true';
10+
11+
fetch(API_URL)
12+
.then(response => {
13+
if (!response.ok) {
14+
throw new Error('Failed to fetch devices');
15+
}
16+
return response.json();
17+
})
18+
.then(data => {
19+
console.log('Full API Response:', data);
20+
21+
// Extract Virtual Devices
22+
const virtualDevices = data?.virtual?.brands || {};
23+
console.log('Virtual Devices:', virtualDevices);
24+
25+
// Flatten the device arrays
26+
const allVirtualDevices = Object.values(virtualDevices).flat();
27+
console.log('All Virtual Devices:', allVirtualDevices);
28+
29+
// Set the devices state
30+
setDevices(allVirtualDevices);
31+
setLoading(false);
32+
})
33+
.catch(err => {
34+
setError(err.message);
35+
setLoading(false);
36+
});
37+
}, []);
38+
39+
if (loading) {
40+
return <p>Loading devices...</p>;
41+
}
42+
43+
if (error) {
44+
return <p>Error: {error}</p>;
45+
}
46+
47+
if (!Array.isArray(devices) || devices.length === 0) {
48+
return <p>No Virtual devices found. Please try again later.</p>;
49+
}
50+
51+
return (
52+
<div>
53+
<h2>Compatible Android Devices</h2>
54+
<ul>
55+
{devices.map((device, index) => (
56+
<li key={index}>
57+
{device.name} - {device.version}
58+
</li>
59+
))}
60+
</ul>
61+
</div>
62+
);
63+
};
64+
65+
export default DeviceList;

0 commit comments

Comments
 (0)