செலெக்டர்கள்
WebdriverIO MCP சர்வர் வலைப் பக்கங்கள் மற்றும் மொபைல் பயன்பாடுகளில் உள்ள கூறுகளைக் கண்டறிவதற்கு பல செலெக்டர் உத்திகளை ஆதரிக்கிறது.
அனைத்து WebdriverIO செலெக்டர் உத்திகளையும் உள்ளடக்கிய விரிவான செலெக்டர் ஆவணங்களுக்கு, முக்கிய Selectors வழிகாட்டியைப் பார்க்கவும். இந்தப் பக்கம் MCP சர்வருடன் பொதுவாகப் பயன்படுத்தப்படும் செலெக்டர்களை மையமாகக் கொண்டுள்ளது.
வலை செலெக்டர்கள்
உலாவி தானியக்கமாக்கலுக்கு, MCP சர்வர் அனைத்து நிலையான WebdriverIO செலெக்டர்களையும் ஆதரிக்கிறது. அதிகம் பயன்படுத்தப்படும் சிலவற்றில்:
| செலெக்டர் | உதாரணம் | விளக்கம் |
|---|---|---|
| CSS | #login-button, .submit-btn | நிலையான CSS செலெக்டர்கள் |
| XPath | //button[@id='submit'] | XPath தொடர்கள் |
| Text | button=Submit, a*=Click | WebdriverIO உரை செலெக்டர்கள் |
| ARIA | aria/Submit Button | அணுகல்தன்மை பெயர் செலெக்டர்கள் |
| Test ID | [data-testid="submit"] | சோதனைக்கு பரிந்துரைக்கப்படுகிறது |
விரிவான உதாரணங்கள் மற்றும் சிறந்த நடைமுறைகளுக்கு, Selectors ஆவணத்தைப் பார்க்கவும்.
மொபைல் செலெக்டர்கள்
மொபைல் செலெக்டர்கள் Appium மூலம் iOS மற்றும் Android இரண்டு தளங்களிலும் செயல்படுகின்றன.
Accessibility ID (பரிந்துரைக்கப்படுகிறது)
Accessibility ID கள் மிகவும் நம்பகமான பிளாட்ஃபார்ம் குறுக்கு செலெக்டர் ஆகும். அவை iOS மற்றும் Android ஆகிய இரண் டிலும் செயல்படுகின்றன மற்றும் ஆப் புதுப்பிப்புகளின் போது நிலையாக இருக்கின்றன.
# வாக்கியமைப்பு
~accessibilityId
# உதாரணங்கள்
~loginButton
~submitForm
~usernameField
கிடைக்கும்போது எப்போதும் accessibility ID களை விரும்பவும். அவை வழங்குவது:
- பிளாட்ஃபார்ம் குறுக்கு இணக்கத்தன்மை (iOS + Android)
- UI மாற்றங்களின் போது நிலைத்தன்மை
- சிறந்த சோதனை பராமரிப்பு
- உங்கள் ஆப்பின் மேம்படுத்தப்பட்ட அணுகல்தன்மை
Android செலெக்டர்கள்
UiAutomator
UiAutomator செலெக்டர்கள் Android-க்கு சக்திவாய்ந்தவை மற்றும் வேகமானவை.
# உரை மூலம்
android=new UiSelector().text("Login")
# பகுதி உரை மூலம்
android=new UiSelector().textContains("Log")
# வள ID மூலம்
android=new UiSelector().resourceId("com.example:id/login_button")
# வகுப்பு பெயர் மூலம்
android=new UiSelector().className("android.widget.Button")
# விளக்கம் மூலம் (அணுகல்தன்மை)
android=new UiSelector().description("Login button")
# இணைந்த நிபந்தனைகள்
android=new UiSelector().className("android.widget.Button").text("Login")
# ஸ்க்ரோலல் கொள்கலன்
android=new UiScrollable(new UiSelector().scrollable(true)).scrollIntoView(new UiSelector().text("Item"))
Resource ID
Resource ID கள் Android-இல் நிலையான கூறு அடையாளத்தை வழங்குகின்றன.
# முழு Resource ID
id=com.example.app:id/login_button
# பகுதி ID (ஆப் பேக்கேஜ் ஊகித்து)
id=login_button
XPath (Android)
XPath Android-இல் செயல்படுகிறது ஆனால் UiAutomator விட மெதுவானது.
# வகுப்பு மற்றும் உரை மூலம்
//android.widget.Button[@text='Login']
# வள ID மூலம்
//android.widget.EditText[@resource-id='com.example:id/username']
# உள்ளடக்க விளக்கம் மூலம்
//android.widget.ImageButton[@content-desc='Menu']
# படிநிலை
//android.widget.LinearLayout/android.widget.Button[1]
iOS செலெக்டர்கள்
Predicate String
iOS Predicate String-கள் iOS தானியக்கமாக்கலுக்கு வேகமானவை மற்றும் சக்திவாய்ந்தவை.
# லேபிள் மூலம்
-ios predicate string:label == "Login"
# பகுதி லேபிள் மூலம்
-ios predicate string:label CONTAINS "Log"
# பெயர் மூலம்
-ios predicate string:name == "loginButton"
# வகை மூலம்
-ios predicate string:type == "XCUIElementTypeButton"
# மதிப்பு மூலம்
-ios predicate string:value == "ON"
# இணைந்த நிபந்தனைகள்
-ios predicate string:type == "XCUIElementTypeButton" AND label == "Login"
# காட்சித்தன்மை
-ios predicate string:label == "Login" AND visible == 1
# பெரிய-சிறிய எழுத்து உணர்தல் இல்லை
-ios predicate string:label ==[c] "login"
Predicate ஆபரேட்டர்கள்:
| ஆபரேட்டர் | விளக்கம் |
|---|---|
== | சமமானது |
!= | சமமற்றது |
CONTAINS | துணை சரம் கொண்டுள்ளது |
BEGINSWITH | தொடங்குகிறது |
ENDSWITH | முடிகிறது |
LIKE | வைல்ட்கார்டு பொருத்தம் |
MATCHES | Regex பொருத்தம் |
AND | லாஜிக்கல் AND |
OR | லாஜிக்கல் OR |
Class Chain
iOS Class Chain-கள் நல்ல செயல்திறனுடன் படிநிலை கூறு இருப்பிடத்தை வழங்குகின்றன.
# நேரடி குழந்தை
-ios class chain:**/XCUIElementTypeButton[`label == "Login"`]
# எந்த வாரிசும்
-ios class chain:**/XCUIElementTypeButton
# குறியீடு மூலம்
-ios class chain:**/XCUIElementTypeCell[3]
# Predicate உடன் இணைந்தது
-ios class chain:**/XCUIElementTypeButton[`name == "submit" AND visible == 1`]
# படிநிலை
-ios class chain:**/XCUIElementTypeTable/XCUIElementTypeCell[`label == "Settings"`]
# கடைசி கூறு
-ios class chain:**/XCUIElementTypeButton[-1]
XPath (iOS)
XPath iOS-இல் செயல்படுகிறது ஆனால் predicate string-களை விட மெதுவானது.
# வகை மற்றும் லேபிள் மூலம்
//XCUIElementTypeButton[@label='Login']
# பெயர் மூலம்
//XCUIElementTypeTextField[@name='username']
# மதிப்பு மூலம்
//XCUIElementTypeSwitch[@value='1']
# படிநிலை
//XCUIElementTypeTable/XCUIElementTypeCell[1]
பிளாட்ஃபார்ம்-குறுக்கு செலெக்டர் உத்தி
iOS மற்றும் Android ஆகிய இரண்டிலும் செயல்பட வேண்டிய சோதனைகளை எழுதும்போது, இந்த முன்னுரிமை வ ரிசையைப் பயன்படுத்தவும்:
1. Accessibility ID (சிறந்தது)
# இரண்டு தளங்களிலும் செயல்படுகிறது
~loginButton