முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்

தனிப்பயன் Matchers

WebdriverIO ஒரு Jest பாணியிலான expect உறுதிப்படுத்தல் நூலகத்தைப் பயன்படுத்துகிறது, இது வலை மற்றும் மொபைல் சோதனைகளை இயக்குவதற்கான சிறப்பு அம்சங்கள் மற்றும் தனிப்பயன் matchers உடன் வருகிறது. matchers நூலகம் பெரியதாக இருந்தாலும், இது அனைத்து சாத்தியமான சூழ்நிலைகளுக்கும் பொருந்தாது. எனவே, ஏற்கனவே உள்ள matchers-ஐ நீங்கள் வரையறுக்கும் தனிப்பயன் matchers உடன் விரிவுபடுத்த முடியும்.

எச்சரிக்கை

தற்போது browser பொருளுக்கு குறிப்பிட்ட matchers அல்லது element உள்ளமைப்புக்கு வரையறுக்கப்பட்ட matchers-க்கு வேறுபாடு இல்லை என்றாலும், எதிர்காலத்தில் இது நிச்சயமாக மாறக்கூடும். இந்த மேம்பாட்டைப் பற்றிய கூடுதல் தகவலுக்கு webdriverio/expect-webdriverio#1408 ஐக் கவனியுங்கள்.

தனிப்பயன் உலாவி Matchers

தனிப்பயன் உலாவி matcher-ஐப் பதிவு செய்ய, expect பொருளில் உள்ள extend-ஐ அழைக்கவும், நேரடியாக உங்கள் spec கோப்பில் அல்லது உங்கள் wdio.conf.js-ல் உள்ள before hook-ன் ஒரு பகுதியாக:

customMatchers/example.ts
loading...

எடுத்துக்காட்டில் காட்டியுள்ளபடி, matcher செயல்பாடு எதிர்பார்க்கப்படும் பொருளை, எ.கா. உலாவி அல்லது element பொருளை, முதல் அளவுருவாகவும், எதிர்பார்க்கப்படும் மதிப்பை இரண்டாவது அளவுருவாகவும் எடுத்துக்கொள்கிறது. பின்னர் நீங்கள் matcher-ஐ பின்வருமாறு பயன்படுத்தலாம்:

customMatchers/example.ts
loading...

தனிப்பயன் Element Matchers

தனிப்பயன் உலாவி matchers போலவே, element matchers வேறுபடவில்லை. ஒரு element-ன் aria-label-ஐ உறுதிப்படுத்த தனிப்பயன் matcher உருவாக்குவதற்கான எடுத்துக்காட்டு இங்கே:

customMatchers/example.ts
loading...

இது பின்வருமாறு உறுதிப்படுத்தலை அழைக்க உங்களை அனுமதிக்கிறது:

customMatchers/example.ts
loading...

TypeScript ஆதரவு

நீங்கள் TypeScript பயன்படுத்தினால், உங்கள் தனிப்பயன் matchers-ன் வகை பாதுகாப்பை உறுதிசெய்ய ஒரு கூடுதல் படி தேவைப்படுகிறது. Matcher இடைமுகத்தை உங்கள் தனிப்பயன் matchers உடன் விரிவுபடுத்துவதன் மூலம், அனைத்து வகை சிக்கல்களும் மறைந்துவிடும்:

customMatchers/example.ts
loading...

நீங்கள் தனிப்பயன் asymmetric matcher உருவாக்கியிருந்தால், அதேபோல் expect வகைகளை பின்வருமாறு விரிவுபடுத்தலாம்:

declare global {
namespace ExpectWebdriverIO {
interface AsymmetricMatchers {
myCustomMatcher(value: string): ExpectWebdriverIO.PartialMatcher;
}
}
}

Welcome! How can I help?

WebdriverIO AI Copilot