मुख्य सामग्री पर जाएं

उपकरण

निम्नलिखित उपकरण WebdriverIO MCP सर्वर के माध्यम से उपलब्ध हैं। ये उपकरण AI सहायकों को ब्राउज़र और मोबाइल एप्लिकेशन को स्वचालित करने की क्षमता प्रदान करते हैं।

सेशन प्रबंधन

start_browser

Chrome ब्राउज़र सेशन शुरू करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यडिफ़ॉल्टविवरण
headlessbooleanनहींfalseChrome को हेडलेस मोड में चलाएँ
windowWidthnumberनहीं1920ब्राउज़र विंडो की चौड़ाई (400-3840)
windowHeightnumberनहीं1080ब्राउज़र विंडो की ऊंचाई (400-2160)
navigationUrlstringनहीं-ब्राउज़र शुरू करने के बाद नेविगेट करने के लिए URL

उदाहरण

Start a browser with 1920x1080 resolution and navigate to webdriver.io

समर्थन

  • डेस्कटॉप ब्राउज़र्स

start_app_session

Appium के माध्यम से iOS या Android पर मोबाइल ऐप सेशन शुरू करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यडिफ़ॉल्टविवरण
platformstringहाँ-स्वचालित करने के लिए प्लेटफॉर्म: iOS या Android
deviceNamestringहाँ-डिवाइस या सिम्युलेटर/एम्युलेटर का नाम
appPathstringनहीं*-ऐप फ़ाइल का पथ (.app, .ipa, या .apk)
platformVersionstringनहीं-OS वर्ज़न (जैसे, 17.0, 14)
automationNamestringनहींAutoXCUITest (iOS), UiAutomator2 या Espresso (Android)
udidstringनहीं-अद्वितीय डिवाइस पहचानकर्ता (वास्तविक iOS उपकरणों के लिए आवश्यक)
noResetbooleanनहींfalseसत्रों के बीच ऐप स्थिति संरक्षित करें
fullResetbooleanनहींtrueसत्र से पहले ऐप को अनइंस्टॉल और पुनः इंस्टॉल करें
autoGrantPermissionsbooleanनहींtrueस्वचालित रूप से ऐप अनुमतियाँ प्रदान करें
autoAcceptAlertsbooleanनहींtrueस्वचालित रूप से सिस्टम अलर्ट स्वीकार करें
autoDismissAlertsbooleanनहींfalseअलर्ट को स्वीकार करने के बजाय खारिज करें
appWaitActivitystringनहीं-लॉन्च पर प्रतीक्षा करने के लिए एक्टिविटी (केवल Android)
newCommandTimeoutnumberनहीं60निष्क्रियता के कारण सेशन टाइम आउट होने से पहले सेकंड
appiumHoststringनहीं127.0.0.1Appium सर्वर होस्टनेम
appiumPortnumberनहीं4723Appium सर्वर पोर्ट
appiumPathstringनहीं/Appium सर्वर पथ

*या तो appPath प्रदान किया जाना चाहिए, या पहले से चल रहे ऐप से कनेक्ट करने के लिए noReset: true

उदाहरण

Start an iOS app session on iPhone 15 simulator with my app at /path/to/app.app

समर्थन

  • iOS सिम्युलेटर्स
  • वास्तविक iOS उपकरण
  • Android एम्युलेटर्स
  • वास्तविक Android उपकरण

close_session

वर्तमान ब्राउज़र या ऐप सेशन बंद करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यडिफ़ॉल्टविवरण
detachbooleanनहींfalseबंद करने के बजाय सेशन से डिटैच करें (ब्राउज़र/ऐप चलता रहता है)

नोट्स

noReset: true या बिना appPath के सेशन स्वचालित रूप से स्थिति बनाए रखने के लिए बंद होने पर डिटैच हो जाते हैं।

समर्थन

  • डेस्कटॉप ब्राउज़र्स
  • मोबाइल ऐप्स

नेविगेशन

URL पर नेविगेट करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यविवरण
urlstringहाँनेविगेट करने के लिए URL

उदाहरण

Navigate to https://webdriver.io

समर्थन

  • डेस्कटॉप ब्राउज़र्स

एलिमेंट इंटरैक्शन

click_element

सेलेक्टर द्वारा पहचाने गए एलिमेंट पर क्लिक करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यडिफ़ॉल्टविवरण
selectorstringहाँ-CSS सेलेक्टर, XPath, या मोबाइल सेलेक्टर
scrollToViewbooleanनहींtrueक्लिक करने से पहले एलिमेंट को दृश्य में स्क्रॉल करें
timeoutnumberनहीं3000एलिमेंट के लिए प्रतीक्षा करने का अधिकतम समय (ms)

नोट्स

  • WebdriverIO टेक्स्ट सेलेक्टर्स का समर्थन करता है: button=Exact text या a*=Contains text
  • स्क्रॉल पोजीशनिंग के लिए केंद्र संरेखण का उपयोग करता है

उदाहरण

Click the element with selector "#submit-button"

समर्थन

  • डेस्कटॉप ब्राउज़र्स
  • मोबाइल नेटिव ऐप्स

set_value

इनपुट फ़ील्ड में टेक्स्ट टाइप करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यडिफ़ॉल्टविवरण
selectorstringहाँ-इनपुट एलिमेंट का सेलेक्टर
valuestringहाँ-टाइप करने के लिए टेक्स्ट
scrollToViewbooleanनहींtrueटाइप करने से पहले एलिमेंट को दृश्य में स्क्रॉल करें
timeoutnumberनहीं3000एलिमेंट के लिए प्रतीक्षा करने का अधिकतम समय (ms)

नोट्स

नया टेक्स्ट टाइप करने से पहले मौजूदा वैल्यू को साफ करता है।

उदाहरण

Set the value "john@example.com" in the element with selector "#email"

समर्थन

  • डेस्कटॉप ब्राउज़र्स
  • मोबाइल नेटिव ऐप्स

पेज विश्लेषण

get_visible_elements

वर्तमान पेज या स्क्रीन पर दृश्यमान और इंटरैक्ट करने योग्य एलिमेंट्स प्राप्त करता है। यह उपकरण उन एलिमेंट्स की खोज के लिए प्राथमिक है जो इंटरैक्शन के लिए उपलब्ध हैं।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यडिफ़ॉल्टविवरण
elementTypestringनहींinteractableएलिमेंट्स का प्रकार: interactable (बटन/लिंक्स/इनपुट्स), visual (इमेज/SVG), या all
inViewportOnlybooleanनहींtrueकेवल व्यूपोर्ट में दिखाई देने वाले एलिमेंट्स लौटाएं
includeContainersbooleanनहींfalseलेआउट कंटेनर्स शामिल करें (ViewGroup, ScrollView, आदि)
includeBoundsbooleanनहींfalseएलिमेंट कोऑर्डिनेट्स शामिल करें (x, y, width, height)
limitnumberनहीं0लौटाने के लिए अधिकतम एलिमेंट्स (0 = असीमित)
offsetnumberनहीं0छोड़ने के लिए एलिमेंट्स की संख्या (पेजिनेशन के लिए)

रिटर्न्स

{
"total": 42,
"showing": 20,
"hasMore": true,
"elements": [...]
}

वेब एलिमेंट्स में शामिल हैं: tagName, type, id, className, textContent, value, placeholder, href, ariaLabel, role, cssSelector, isInViewport

मोबाइल एलिमेंट्स में शामिल हैं: कई लोकेटर रणनीतियाँ (accessibility ID, resource ID, XPath, UiAutomator/predicates), एलिमेंट प्रकार, टेक्स्ट, और वैकल्पिक बाउंड्स

नोट्स

  • वेब: तेज़ एलिमेंट पहचान के लिए अनुकूलित ब्राउज़र स्क्रिप्ट का उपयोग करता है
  • मोबाइल: कुशल XML पेज सोर्स पार्सिंग का उपयोग करता है (एलिमेंट क्वेरी के लिए 600+ की तुलना में 2 HTTP कॉल)
  • बड़े पेजों के लिए पेजिनेशन (limit और offset) का उपयोग करें ताकि टोकन उपयोग कम हो

उदाहरण

Get all visible elements on the page with their coordinates

समर्थन

  • डेस्कटॉप ब्राउज़र्स
  • मोबाइल ऐप्स

get_accessibility

वर्तमान पेज की एक्सेसिबिलिटी ट्री प्राप्त करता है जिसमें रोल्स, नेम्स और स्टेट्स के बारे में सिमेंटिक जानकारी होती है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यडिफ़ॉल्टविवरण
limitnumberनहीं100लौटाने के लिए अधिकतम नोड्स (0 = असीमित)
offsetnumberनहीं0छोड़ने के लिए नोड्स की संख्या (पेजिनेशन के लिए)
rolesstring[]नहींAllविशिष्ट रोल्स के लिए फ़िल्टर (जैसे, ["button", "link", "textbox"])
namedOnlybooleanनहींtrueकेवल नाम/लेबल वाले नोड्स लौटाएं

रिटर्न्स

{
"total": 85,
"showing": 100,
"hasMore": false,
"nodes": [
{ "role": "button", "name": "Submit" },
{ "role": "link", "name": "Home" }
]
}

नोट्स

  • केवल ब्राउज़र। मोबाइल ऐप्स के लिए, इसके बजाय get_visible_elements का उपयोग करें
  • उपयोगी है जब get_visible_elements अपेक्षित एलिमेंट्स नहीं लौटाता है
  • namedOnly: true अनाम कंटेनर्स को फ़िल्टर करता है और शोर को कम करता है

समर्थन

  • डेस्कटॉप ब्राउज़र्स

स्क्रीनशॉट

take_screenshot

वर्तमान व्यूपोर्ट का स्क्रीनशॉट कैप्चर करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यविवरण
outputPathstringनहींस्क्रीनशॉट फ़ाइल सहेजने का पथ। यदि छोड़ दिया जाता है, तो base64 डेटा लौटाता है

रिटर्न्स

Base64-एन्कोडेड इमेज डेटा (PNG या JPEG) साइज़ जानकारी के साथ।

नोट्स

स्क्रीनशॉट्स स्वचालित रूप से अनुकूलित हैं:

  • अधिकतम आयाम: 2000px (यदि बड़ा हो तो स्केल डाउन)
  • अधिकतम फ़ाइल साइज़: 1MB
  • फॉर्मेट: अधिकतम कंप्रेशन के साथ PNG, या JPEG यदि साइज़ सीमा को पूरा करने की आवश्यकता हो

समर्थन

  • डेस्कटॉप ब्राउज़र्स
  • मोबाइल ऐप्स

स्क्रॉलिंग

scroll

पेज को निर्दिष्ट पिक्सेल संख्या के अनुसार ऊपर या नीचे स्क्रॉल करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यडिफ़ॉल्टविवरण
directionstringहाँ-स्क्रॉल दिशा: up या down
pixelsnumberनहीं500स्क्रॉल करने के लिए पिक्सेल की संख्या

नोट्स

केवल ब्राउज़र। मोबाइल स्क्रॉलिंग के लिए, इसके बजाय swipe टूल का उपयोग करें।

समर्थन

  • डेस्कटॉप ब्राउज़र्स

कुकी प्रबंधन

get_cookies

वर्तमान सेशन से कुकीज़ प्राप्त करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यविवरण
namestringनहींप्राप्त करने के लिए विशिष्ट कुकी नाम (सभी कुकीज़ के लिए छोड़ दें)

रिटर्न्स

name, value, domain, path, expiry, secure, और httpOnly प्रॉपर्टीज़ के साथ कुकी ऑब्जेक्ट्स।

समर्थन

  • डेस्कटॉप ब्राउज़र्स

वर्तमान सेशन में कुकी सेट करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यडिफ़ॉल्टविवरण
namestringहाँ-कुकी नाम
valuestringहाँ-कुकी वैल्यू
domainstringनहींCurrentकुकी डोमेन
pathstringनहीं/कुकी पथ
expirynumberनहीं-यूनिक्स टाइमस्टैम्प (सेकंड) के रूप में एक्सपायरी
securebooleanनहीं-सिक्योर फ्लैग
httpOnlybooleanनहीं-HttpOnly फ्लैग
sameSitestringनहीं-SameSite एट्रिब्यूट: strict, lax, या none

समर्थन

  • डेस्कटॉप ब्राउज़र्स

delete_cookies

वर्तमान सेशन से कुकीज़ हटाता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यविवरण
namestringनहींहटाने के लिए विशिष्ट कुकी नाम (सभी हटाने के लिए छोड़ दें)

समर्थन

  • डेस्कटॉप ब्राउज़र्स

टच जेस्चर (मोबाइल)

tap_element

किसी एलिमेंट या स्क्रीन कोऑर्डिनेट्स पर टैप करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यविवरण
selectorstringनहीं*टैप करने के लिए एलिमेंट का सेलेक्टर
xnumberनहीं*टैप के लिए X कोऑर्डिनेट
ynumberनहीं*टैप के लिए Y कोऑर्डिनेट

*या तो selector या दोनों x और y आवश्यक हैं।

समर्थन

  • मोबाइल ऐप्स

swipe

निर्दिष्ट दिशा में स्वाइप जेस्चर करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यडिफ़ॉल्टविवरण
directionstringहाँ-स्वाइप दिशा: up, down, left, right
durationnumberनहीं500मिलीसेकंड में स्वाइप अवधि (100-5000)
percentnumberनहीं0.5/0.95स्वाइप करने के लिए स्क्रीन का प्रतिशत (0-1)

नोट्स

  • डिफ़ॉल्ट प्रतिशत: वर्टिकल स्वाइप के लिए 0.5, हॉरिज़ॉन्टल स्वाइप के लिए 0.95
  • दिशा सामग्री आंदोलन को इंगित करती है: "स्वाइप अप" सामग्री को ऊपर स्क्रॉल करता है

उदाहरण

Swipe up to scroll down the screen

समर्थन

  • मोबाइल ऐप्स

drag_and_drop

किसी एलिमेंट को दूसरे एलिमेंट या कोऑर्डिनेट्स पर खींचता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यविवरण
sourceSelectorstringहाँखींचने के लिए सोर्स एलिमेंट सेलेक्टर
targetSelectorstringनहीं*ड्रॉप करने के लिए टारगेट एलिमेंट सेलेक्टर
xnumberनहीं*टारगेट X ऑफसेट (यदि कोई targetSelector नहीं है)
ynumberनहीं*टारगेट Y ऑफसेट (यदि कोई targetSelector नहीं है)
durationnumberनहींDefault

*या तो targetSelector या दोनों x और y आवश्यक हैं।

समर्थन

  • मोबाइल ऐप्स

ऐप लाइफसाइकिल (मोबाइल)

get_app_state

एक ऐप की वर्तमान स्थिति प्राप्त करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यविवरण
bundleIdstringहाँऐप पहचानकर्ता (iOS के लिए बंडल ID, Android के लिए पैकेज नाम)

रिटर्न्स

ऐप स्थिति: not installed, not running, running in background (suspended), running in background, या running in foreground

समर्थन

  • मोबाइल ऐप्स

कॉन्टेक्स्ट स्विचिंग (हाइब्रिड ऐप्स)

get_contexts

सभी उपलब्ध कॉन्टेक्स्ट्स (नेटिव और वेबव्यू) की सूची प्राप्त करता है।

पैरामीटर्स

कोई नहीं

रिटर्न्स

कॉन्टेक्स्ट नामों की एरे (उदा., ["NATIVE_APP", "WEBVIEW_com.example.app"])।

समर्थन

  • मोबाइल हाइब्रिड ऐप्स

get_current_context

वर्तमान सक्रिय कॉन्टेक्स्ट प्राप्त करता है।

पैरामीटर्स

कोई नहीं

रिटर्न्स

वर्तमान कॉन्टेक्स्ट नाम (जैसे, NATIVE_APP या WEBVIEW_*)।

समर्थन

  • मोबाइल हाइब्रिड ऐप्स

switch_context

नेटिव और वेबव्यू कॉन्टेक्स्ट्स के बीच स्विच करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यविवरण
contextstringहाँget_contexts से कॉन्टेक्स्ट नाम या इंडेक्स (1-आधारित)

उदाहरण

Switch to the WEBVIEW_com.example.app context

समर्थन

  • मोबाइल हाइब्रिड ऐप्स

डिवाइस नियंत्रण (मोबाइल)

rotate_device

डिवाइस को एक विशिष्ट ओरिएंटेशन में रोटेट करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यविवरण
orientationstringहाँPORTRAIT या LANDSCAPE

समर्थन

  • मोबाइल ऐप्स

hide_keyboard

ऑन-स्क्रीन कीबोर्ड छिपाता है।

पैरामीटर्स

कोई नहीं

समर्थन

  • मोबाइल ऐप्स

get_geolocation

वर्तमान GPS कोऑर्डिनेट्स प्राप्त करता है।

पैरामीटर्स

कोई नहीं

रिटर्न्स

latitude, longitude, और altitude के साथ ऑब्जेक्ट।

समर्थन

  • मोबाइल ऐप्स

set_geolocation

डिवाइस GPS कोऑर्डिनेट्स सेट करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यविवरण
latitudenumberहाँअक्षांश कोऑर्डिनेट (-90 से 90)
longitudenumberहाँदेशांतर कोऑर्डिनेट (-180 से 180)
altitudenumberनहींमीटर में ऊंचाई

उदाहरण

Set geolocation to San Francisco (37.7749, -122.4194)

समर्थन

  • मोबाइल ऐप्स

स्क्रिप्ट एक्सिक्यूशन

execute_script

ब्राउज़र में जावास्क्रिप्ट या Appium के माध्यम से मोबाइल कमांड्स एक्सिक्यूट करता है।

पैरामीटर्स

पैरामीटरप्रकारअनिवार्यविवरण
scriptstringहाँजावास्क्रिप्ट कोड (ब्राउज़र) या मोबाइल कमांड (जैसे, mobile: pressKey)
argsarrayनहींस्क्रिप्ट के लिए आर्गुमेंट्स

ब्राउज़र उदाहरण

// Get page title
execute_script({ script: "return document.title" })

// Get scroll position
execute_script({ script: "return window.scrollY" })

// Click element by selector
execute_script({ script: "arguments[0].click()", args: ["#myButton"] })

मोबाइल (Appium) उदाहरण

// Press back key (Android)
execute_script({ script: "mobile: pressKey", args: [{ keycode: 4 }] })

// Activate app
execute_script({ script: "mobile: activateApp", args: [{ appId: "com.example" }] })

// Terminate app
execute_script({ script: "mobile: terminateApp", args: [{ appId: "com.example" }] })

// Deep link
execute_script({ script: "mobile: deepLink", args: [{ url: "myapp://screen", package: "com.example" }] })

// Shell command (Android)
execute_script({ script: "mobile: shell", args: [{ command: "dumpsys", args: ["battery"] }] })

सामान्य Android की कोड्स

कीकोड
BACK4
HOME3
ENTER66
MENU82
SEARCH84

अधिक मोबाइल कमांड्स

उपलब्ध Appium मोबाइल कमांड्स की पूरी सूची के लिए, देखें:

समर्थन

  • डेस्कटॉप ब्राउज़र्स
  • मोबाइल ऐप्स (Appium मोबाइल कमांड्स के माध्यम से)

Welcome! How can I help?

WebdriverIO AI Copilot