getContexts
WebdriverIO getContexts முறை என்பது இயல்புநிலை Appium contexts (மற்றும் முந்தைய WebdriverIO getContexts) கட்டளையின் மேம்படுத்தப்பட்ட பதிப்பாகும். இது மொபைல் ஆப் அமர்வில் கிடைக்கக்கூடிய சூழல்கள் பற்றிய விரிவான மற்றும் செயல்படுத்தக்கூடிய தகவல்களை வழங்குகிறது, இயல்புநிலை Appium முறைகளின் வரம்புகளை நிவர்த்தி செய்கிறது.
வெப்வியூகள் எவ்வாறு செயல்படுகின்றன மற்றும் இந்த முறை எவ்வாறு உதவுகிறது
மேலும் விவரங்களுக்கு, ஹைபிரிட் ஆப்ஸ் ஆவணங்களைப் பார்க்கவும். getContexts கட்டளையால் நிவர்த்தி செய்யப்படும் சவால்களின் சுருக்கம் கீழே உள்ளது:
ஆண்ட்ராய்டு சவால்கள்
- ஒரு ஒற்றை வெப்வியூ (எ.கா.,
WEBVIEW_{packageName}) பல பக்கங்களைக் கொண்டிருக்கலாம் (உலாவி தாவல்கள் போல). - இயல்புநிலை Appium முறைகள் இந்த பக்கங்களின் விவரங்களை, அதாவது
title,url, அல்லது காணக்கூடிய நிலை போன்றவற்றை உள்ளடக்காது, இது சரியான பக்கத்தை அடையாளம் காண்பதை கடினமாக்கி, சாத்தியமான நிலையற்ற தன்மைக்கு வழிவகுக்கும்.
iOS சவால்கள்
- இயல்புநிலை Appium முறை கூடுதல் மெட்டாடேட்டா இல்லாமல் பொதுவான வெப்வியூ IDகளை (எ.கா.,
WEBVIEW_{id}) மட்டுமே திருப்பித் தருகிறது. - இது எந்த வெப்வியூ இலக்கு ஆப் திரைக்கு பொருந்துகிறது என்பதை தீர்மானிப்பதை கடினமாக்குகிறது.
மேம்படுத்தப்பட்ட getContexts முறை இந்த சிக்கல்களை விரிவான சூழல் பொருள்களை வழங்குவதன் மூலம் தீர்க்கிறது, அதில் அடங்குபவை:
- ஆண்ட்ராய்டுக்கு:
title,url,packageName,webviewPageId, மற்றும் லேஅவுட் விவரங்கள் (screenX,screenY,width, மற்றும்height). - iOS க்கு:
bundleId,title, மற்றும்url.
இந்த மேம்பாடுகள் ஹைபிரிட் ஆப்களுடனான பிழைத்திருத்தம் மற்றும் தொடர்பை அதிக நம்பகத்தன்மையுடன் செய்ய வைக்கின்றன.
இந்த முறையை ஏன் பயன்படுத்த வேண்டும்?
இயல்பாக, Appium contexts முறை கிடைக்கக்கூடிய சூழல்களைக் குறிக்கும் சரங்களின் வரிசையை மட்டுமே திருப்பித் தருகிறது:
- ஆண்ட்ராய்டுக்கு:
['NATIVE_APP', 'WEBVIEW_com.wdiodemoapp', ...] - iOS க்கு:
['NATIVE_APP', 'WEBVIEW_84392.1', ...]
எளிய சூழ்நிலைகளுக்கு போதுமானதாக இருந்தாலும், இந்த இயல்புநிலை பதில்கள் ஹைபிரிட் ஆப் சோதனைக்கு முக்கியமான மெட்டாடேட்டாக்களை இல்லாமல் இருக்கின்றன:
- ஆண்ட்ராய்டுக்கு: பக்கம் சார்ந்த மெட்டாடேட்டா இல்லாதது சரியான வெப்வியூவுடன் தொடர்புகொள்வதை சவாலாக்குகிறது.
- iOS க்கு: பொதுவான வெப்வியூ IDகள் அவை குறிக்கும் உள்ளடக்கம் அல்லது ஆப் திரை பற்றிய எந்த தகவலையும் வழங்குவதில்லை.
மேம்படுத்தப்பட்ட getContexts முறை வழங்குவது:
- ஆண்ட்ராய்டு மற்றும் iOS இரண்டிற்கும் விரிவான மெட்டாடேட்டா.
- சிறந்த இலக்கு மற்றும் தொடர்புக்காக திரும்பும் சூழல்களை வடிகட்ட மற்றும் தனிப்பயனாக்க விருப்பங்கள்.
- மேம்படுத்தப்பட்ட
getContextsமுறை ஆண்ட்ராய்டு மற்றும் iOS இரண்டு தளங்களிலும் செயல்படுகிறது. இருப்பினும், திரும்பப்படும் தரவு தளம் மற்றும் சோதிக்கப்படும் ஆப்பைப் பொறுத்து மாறுபடலாம். - நீங்கள்
returnDetailedContextsவிருப்பத்தை க ுறிப்பிடவில்லை என்றால், முறை இயல்புநிலை Appiumcontextsமுறையைப் போல செயல்படும், எளிய சூழல் வரிசையைத் திருப்பித் தரும். - "இயல்புநிலை" Appium
contextsமுறையைப் பயன்படுத்த,driver.getAppiumContexts()ஐப் பயன்படுத்தவும். மேலும் தகவலுக்கு, Appium Contexts ஆவணங்களைப் பார்க்கவும்.
ஆண்ட்ராய்டு வெப்வியூகள்:
androidWebviewDataபோன்ற மெட்டாடேட்டாreturnAndroidDescriptionDatatrueஎன்றால் மட்டுமே கிடைக்கும்.- Chrome உலாவியில்
getContextsமுறையைப் பயன்படுத்துவது சில நேரங்களில் பொருந்தாத உலாவி/வெப்வியூ/ChromeDriver பதிப்புகள் காரணமாக முழுமையற்ற தரவைத் திருப்பித் தரலாம். இத்தகைய சந்தர்ப்பங்களில், இயல்புநிலை மதிப்புகள் அல்லது தவறானwebviewPageId(எ.கா.,0) திருப்பித் தரப்படலாம்.
அளவுருக்கள்
| பெயர் | வகை | விவரங்கள் |
|---|---|---|
optionsoptional | GetContextsOptions | getContexts விருப்பங்கள் (விருப்பத்தேர்வு) |
options.returnDetailedContextsoptional | boolean | இயல்பாக, நாங்கள் இயல்புநிலை Appium contexts API அடிப்படையில் சூழல் பெயர்களை மட்டுமே திருப்பித் தருகிறோம். நீங்கள் அனைத்து தரவையும் பெற விரும்பினால், இதை true என அமைக்கலாம். இயல்புநிலை false (விருப்பத்தேர்வு). |
options.androidWebviewConnectionRetryTimeoptional | number | வெப்வியூவுடன் இணைக்க ஒவ்வொரு முறை முயற்சிக்கும் ப ோதும் காத்திருக்க வேண்டிய நேரம் மில்லி செகண்டுகளில். இயல்புநிலை 500 மில்லி செகண்டுகள் (விருப்பத்தேர்வு). ஆண்ட்ராய்டு-மட்டும் |
options.androidWebviewConnectTimeoutoptional | number | வெப் வியூ பக்கம் கண்டறியப்படுவதற்கு காத்திருக்க வேண்டிய அதிகபட்ச நேரம் மில்லி செகண்டுகளில். இயல்புநிலை 5000 மில்லி செகண்டுகள் (விருப்பத்தேர்வு). ஆண்ட்ராய்டு-மட்டும் |
options.filterByCurrentAndroidAppoptional | boolean | இயல்பாக, நாங்கள் அனைத்து வெப்வியூகளையும் திருப்பித் தருகிறோம். நீங்கள் தற்போது திறக்கப்பட்டுள்ள ஆண்ட்ராய்டு ஆப் மூலம் வெப்வியூகளை வடிகட்ட விரும்பினால், இதை true என அமைக்கலாம். இயல்புநிலை false (விருப்பத்தேர்வு). குறிப்பு: இந்த "கட்டுப்பாட்டின்" அடிப்படையில் நீங்கள் எந்த வெப்வியூவையும் கண்டுபிடிக்க முடியாது என்பதை கவனத்தில் கொள்ளவும். ஆண்ட்ராய்டு-மட்டும் |
options.isAndroidWebviewVisibleoptional | boolean | இயல்பாக, நாங்கள் இணைக்கப்பட்டு காணக்கூடிய வெப்வியூகளை மட்டுமே திருப்பித் தருகிறோம். நீங்கள் அனைத்து வெப்வியூகளையும் பெற விரும்பினால், இதை false என அமைக்கலாம் (விருப்பத்தேர்வு). இயல்புநிலை true. ஆண்ட்ராய்டு-மட்டும் |
options.returnAndroidDescriptionDataoptional | boolean | இயல்பாக, ஆண்ட்ராய்டு வெப்வியூ (Chrome) விளக்க விளக்க தரவு இல்லை. நீங்கள் அனைத்து தரவையும் பெற விரும்பினால், இதை true என அமைக்கலாம். இயல்புநிலை false (விருப்பத்தேர்வு). இந்த விருப்பத்தை இயக்குவதன் மூலம் பதிலில் கூடுதல் தரவு கிடைக்கும், மேலும் தகவலுக்கு description.data.test.js ஐப் பார்க்கவும். ஆண்ட்ராய்டு-மட்டும் |