காட்சி சோதனை
இது என்ன செய்யக்கூடும்?
WebdriverIO திரைகள், கூறுகள் அல்லது முழு பக்கத்திற்கான படப் ஒப்பீடுகளை வழங்குகிறது
- 🖥️ டெஸ்க்டாப் உலாவிகள் (Chrome / Firefox / Safari / Microsoft Edge)
- 📱 மொபைல் / டேப்லெட் உலாவிகள் (Android எமுலேட்டர்களில் Chrome / iOS சிமுலேட்டர்களில் Safari / சிமுலேட்டர்கள் / உண்மையான சாதனங்கள்) Appium மூலம்
- 📱 நேட்டிவ் ஆப்ஸ் (Android எமுலேட்டர்கள் / iOS சிமுலேட்டர்கள் / உண்மையான சாதனங்கள்) Appium மூலம் (🌟 புதிய 🌟)
- 📳 ஹைப்ரிட் ஆப்ஸ் Appium மூலம்
இவை @wdio/visual-service மூலம் வழங்கப்படுகின்றன, இது ஒரு லேசான WebdriverIO சேவையாகும்.
இது உங்களை பின்வருவனவற்றை செய்ய அனுமதிக்கிறது:
- திரைகள்/கூறுகள்/முழு-பக்க திரைகளை அடிப்படை நிலையுடன் சேமிக்கலாம் அல்லது ஒப்பிடலாம்
- அடிப்படை இல்லாதபோது தானாகவே அடிப்படை உருவாக்கலாம்
- தனிப்பயன் பகுதிகளை தடுக்கலாம் மற்றும் ஒப்பீட்டின் போது நிலை மற்றும் கருவிப் பட்டிகளை (மொபைல் மட்டும்) தானாகவே விலக்கலாம்
- கூறு பரிமாண ஸ்கிரீன்ஷாட்களை அதிகரிக்கலாம்
- இணையதள ஒப்பீட்டின் போது உரையை மறைக்கலாம்:
- நிலைத்தன்மையை மேம்படுத்த மற்றும் எழுத்துரு வழங்கல் நிலையற்ற தன்மையைத் தடுக்க
- ஒரு இணையதளத்தின் லேஅவுட் மீது மட்டுமே கவனம் செலுத்த
- வெவ்வேறு ஒப்பீட்டு முறைகளையும் சிறந்த படிக்கக்கூடிய சோதனைகளுக்கான கூடுதல் போருத்திகளின் தொகுப்பையும் பயன்படுத்தலாம்
- உங்கள் இணையதளம் உங்கள் விசைப்பலகையுடன் டேப்பிங் ஆதரவை எவ்வாறு வழங்கும் என்பதை சரிபார்க்கலாம், வலைத்தளத்தில் டேப்பிங் ஐயும் பார்க்கவும்
- மேலும் பல, சேவை மற்றும் முறை விருப்பங்களைப் பார்க்கவும்
இந்த சேவை அனைத்து உலாவிகள்/சாதன ங்களுக்கும் தேவையான தரவு மற்றும் ஸ்கிரீன்ஷாட்களைப் பெறுவதற்கான ஒரு லேசான மாட்யூல் ஆகும். ஒப்பீட்டு சக்தி ResembleJS இலிருந்து வருகிறது. நீங்கள் படங்களை ஆன்லைனில் ஒப்பிட விரும்பினால், ஆன்லைன் கருவியைப் பார்க்கலாம்.
saveScreen, saveElement, checkScreen, checkElement முறைகள் மற்றும் toMatchScreenSnapshot மற்றும் toMatchElementSnapshot போன்ற போருத்திகள் நேட்டிவ் ஆப்ஸ்/கான்டெக்ஸ்ட்க்கு பயன்படுத்தப்படலாம்.
நீங்கள் ஹைப்ரிட் ஆப்ஸ்க்கு பயன்படுத்த விரும்பினால், உங்கள் சேவை அமைப்புகளில் isHybridApp:true பண்பை பயன் படுத்தவும்.
நிறுவல்
எளிதான வழி @wdio/visual-service ஐ உங்கள் package.json இல் ஒரு dev-dependency ஆக வைத்திருப்பது:
npm install --save-dev @wdio/visual-service
பயன்பாடு
@wdio/visual-service ஐ ஒரு சாதாரண சேவையாகப் பயன்படுத்தலாம். நீங்கள் அதை உங்கள் கட்டமைப்பு கோப்பில் பின்வருமாறு அமைக்கலாம்:
import path from "node:path";
// wdio.conf.ts
export const config = {
// ...
// =====
// Setup
// =====
services: [
[
"visual",
{
// Some options, see the docs for more
baselineFolder: path.join(process.cwd(), "tests", "baseline"),
formatImageName: "{tag}-{logName}-{width}x{height}",
screenshotPath: path.join(process.cwd(), "tmp"),
savePerInstance: true,
// ... more options
},
],
],
// ...
};
மேலும் சேவை விருப்பங்களை இங்கே காணலாம்.
WebdriverIO கட்டமைப்பில் அமைத்த பிறகு, உங்கள் சோதனைகளில் காட்சி உறுதிப்படுத்தல்களைச் சேர்க்கலாம்.
திறன்கள்
Visual Testing மாட்யூலைப் பயன்படுத்த, உங்கள் திறன்களுக்கு கூடுதல் விருப்பங்களைச் சேர்க்க வேண்டியதில்லை. எனினும், சில சந்தர்ப்பங்களில், logName போன்ற கூடுதல் மெட்டாடேட்டாவை உங்கள் விஷுவல் டெஸ்ட்களுக்குச் சேர்க்க விரும்பலாம்.
logName ஒவ்வொரு திறனுக்கும் ஒரு தனிப்பயன் பெயரை நியமிக்க அனுமதிக்கிறது, இது பிறகு படக் கோப்பு பெயர்களில் சேர்க்கப்படலாம். இது வெவ்வேறு உலாவிகள், சாதனங்கள் அல்லது கட்டமைப்புகளில் எடுக்கப்பட்ட ஸ்கிரீன்ஷாட்களை வேறுபடுத்துவதற்கு குறிப்பாக பயனுள்ளதாக இருக்கும்.
இதை இயக்க, நீங்கள் capabilities பிரிவில் logName ஐ வரையறுக்கலாம் மற்றும் Visual Testing சேவையில் formatImageName விருப்பம் அதைக் குறிப்பிடுவதை உறுதிசெய்யவும். இதை எவ்வாறு அமைப்பது:
import path from "node:path";
// wdio.conf.ts
export const config = {
// ...
// =====
// Setup
// =====
capabilities: [
{
browserName: 'chrome',
'wdio-ics:options': {
logName: 'chrome-mac-15', // Custom log name for Chrome
},
}
{
browserName: 'firefox',
'wdio-ics:options': {
logName: 'firefox-mac-15', // Custom log name for Firefox
},
}
],
services: [
[
"visual",
{
// Some options, see the docs for more
baselineFolder: path.join(process.cwd(), "tests", "baseline"),
screenshotPath: path.join(process.cwd(), "tmp"),
// The format below will use the `logName` from capabilities
formatImageName: "{tag}-{logName}-{width}x{height}",
// ... more options
},
],
],
// ...
};