करत असताना: सेलेनियम चाचणी ऑटोमेशन, तुम्हाला अनेक परिस्थीती येतील जिथे तुम्हाला WebElements चे गुणधर्म आणि मूल्ये तपासण्याची आवश्यकता आहे. उदाहरणार्थ, तुम्हाला तुमच्या ऑटोमेशन टेस्ट कोडमध्ये एलिमेंट टेक्स्टचे मूल्य मिळण्याची आवश्यकता असू शकते – आणि नंतर इच्छित मूल्यावर त्याच मूल्याची पुष्टी करा. सेलेनियममध्ये, गेटटेक्स्ट () पद्धत वेबएलिमेंटचे मजकूर मूल्य मिळवण्यासाठी वापरली जाते.

स्त्रोत:

जर चाचणी स्क्रिप्ट अधिक क्लिष्ट असेल आणि घटकाचे मजकूर मूल्य पुरेसे नसेल तर? अशा प्रकरणांमध्ये, तुम्ही WebElements चे अतिरिक्त (և संबंधित) गुणधर्म वापरावेत. त्याचप्रमाणे, आम्हाला अशी परिस्थिती येऊ शकते जिथे केवळ मजकूराचे मूल्य तपासणे पुरेसे नाही, և आम्हाला DOM मध्ये स्थिर किंवा गतिशील प्रवेशयोग्य घटकांची अतिरिक्त गुणधर्म मिळण्याची आवश्यकता आहे. जावास्क्रिप्ट किंवा इतर कोणत्याही सेलेनियम-समर्थित प्रोग्रामिंग भाषेची पर्वा न करता, वेबलेमेंट्स-विशिष्ट वैशिष्ट्ये मिळवणे सेलेनियम ऑटोमेशन टेस्टमध्ये खूप उपयुक्त ठरू शकते.

या ब्लॉग पोस्टमध्ये, आम्ही सुपर-हाय-सेलेनियम ऑटोमेशन टेस्टिंग स्क्रिप्ट तयार करण्यासाठी जावास्क्रिप्टमध्ये डेटा वैशिष्ट्य कसे मिळवायचे ते एक्सप्लोर करतो.

HTML ची वैशिष्ट्ये काय आहेत?

HTML घटकांबद्दल अतिरिक्त माहिती प्रदान करण्यात HTML गुणधर्म महत्वाची भूमिका बजावतात. घटकांवर इव्हेंट करून त्यांचे वर्तन बदलण्यासाठी देखील याचा वापर केला जाऊ शकतो. HTML गुणधर्म सहसा नेम-मूल्य जोड्या वापरून परिभाषित केले जातात.

नाव म्हणजे तुम्ही ठरवू इच्छित गुणधर्म. उदाहरणार्थ, प्रतिमा टॅग उदाहरण घटकामध्ये src नावाचे गुणधर्म आहे जे प्रतिमेचा स्रोत दर्शवते.

मूल्य संबंधित मालमत्ता परिभाषित केली पाहिजे असे मूल्य दर्शवते. हे नेहमी कोटसह बंद असते. येथे एक उदाहरण आहे जे .jpeg प्रतिमेचे मूल्य दर्शवते.

1:

<img src='imagename.jpeg'/>

विशेषता नावे և गुणधर्म मूल्ये नगण्य आहेत. तथापि, वर्ल्ड वाइड वेब कन्सोर्टियम (W3C) HTML 4 शिफारशीचा भाग म्हणून लहान गुणधर्म (किंवा विशेषता मूल्य) ची शिफारस करते. तुम्हाला समजण्यास मदत करण्यासाठी तुम्ही आमचा आधीचा ब्लॉग पाहू शकता सेलेनियम वेब ड्रायव्हरमध्ये वैशिष्ट्य मूल्य कसे मिळवायचे,

ऑटोमेशन टेस्टिंगमध्ये सामान्यतः वापरली जाणारी वैशिष्ट्ये

एचटीएमएलमध्ये बरीच वैशिष्ट्ये असली तरी, केवळ काही प्रामुख्याने ऑटोमेशन चाचणीसाठी वापरली जातात. येथे HTML मध्ये काही सामान्यतः वापरलेली वैशिष्ट्ये आहेत:

  • आयडी:: आयडी गुणधर्माचा वापर संपूर्ण DOM मध्ये अद्वितीय WebElements ओळखण्यासाठी केला जातो
  • श्रेणी:: वर्ग विशेषता समान WebElements वर्गीकृत करण्याचा मार्ग प्रदान करते
  • शैली:: WebElements मध्ये CSS स्टाइल जोडण्यासाठी स्टाइल विशेषता वापरली जाते
  • शीर्षक:शीर्षक गुणधर्म घटकांसाठी संदर्भित माहिती प्रदान करण्यासाठी वापरला जातो. जवळजवळ सर्व वेब ब्राउझरमध्ये, आयटमचे शीर्षक खिडकीवर माउस फिरवण्याचे साधन म्हणून प्रदर्शित केले जाऊ शकते.

गुणधर्मांचे मुख्य प्रकार

वैशिष्ट्यांची काही मुख्य श्रेणी (किंवा प्रकार) खाली सूचीबद्ध आहेत.

  • आवश्यक वैशिष्ट्ये:: हे गुण HTML टॅगमधून वगळले जाऊ शकत नाहीत. उदाहरणार्थ, src शिवाय प्रतिमा प्रदर्शित होत नाही च्या साठी
  • पर्यायी वैशिष्ट्ये:: घटकांना अधिक अर्थ देण्यासाठी हे गुण जोडणे आवश्यक आहे. उदाहरणार्थ: प्रतिमेचे नाव प्रतिमेला शीर्षक देते, परंतु ती आवश्यक गुणधर्म नाही.
  • कार्यक्रमाची वैशिष्ट्ये:: ही वैशिष्ट्ये इव्हेंट आहेत जी वापरकर्त्याच्या कृतींद्वारे ट्रिगर केली जातात. उदाहरणार्थ, वापरकर्त्याने WebElement वर माउस पॉइंटर फिरवल्यावर m html घटकावरील ऑनमाउसओव्हर इव्हेंट ट्रिगर होतो.
  • मानक वैशिष्ट्ये:: त्यांना जागतिक वैशिष्ट्ये म्हणून देखील ओळखले जाते. ही मालमत्ता श्रेणी जवळजवळ सर्व HTML टॅग्जमध्ये (उदा. Id, वर्ग, शैली इ.) वापरली जाऊ शकते.

सेलेनियम ऑटोमेशन चाचण्यांमध्ये HTML वैशिष्ट्ये दिवसेंदिवस महत्त्वाची होत आहेत. आता आम्ही HTML गुणधर्मांच्या मूलभूत गोष्टींचा समावेश केला आहे, चला सेलेनियम जावास्क्रिप्टमध्ये विशेषता डेटा मिळवण्याच्या मुख्य पैलूंवर नजर टाकूया.

स्वयंचलित चाचणीसाठी वैशिष्ट्ये महत्त्वाची का आहेत?

चाचणी स्वयंचलित करण्यासाठी वापरल्या जाणाऱ्या परिस्थिती (किंवा इव्हेंट्स) च्या आधारावर विशेषता WebElements चे वर्तन बदलू शकतात. बस बुकिंग अर्जाच्या बाबतीत विचार करा. निश्चित जागा सामान्यतः “ग्रे” मध्ये सादर केल्या जातात, तर “ग्रीन” सूचित करतात की बुकिंगसाठी जागा उपलब्ध आहेत. जर रंग चुकीच्या पद्धतीने सादर केले गेले, तर ग्राहकांना तिकिटे बुक करताना अडचणी येतील. ग्राहकांचा ब्रँडवरील विश्वास उडेल, ज्यामुळे कंपनीच्या उत्पन्नात अडथळा येऊ शकतो.

म्हणूनच, बुक केलेले, उपलब्ध तिकिटे योग्य रंग कोडिंगमध्ये सादर केली आहेत का हे तपासणे फार महत्वाचे आहे.

मॅन्युअल चाचणीला प्राधान्य दिले जात नाही कारण ते मोठ्या प्रमाणावर, विश्वासार्ह दृष्टिकोन नाही. तथापि, सेलेनियम जावास्क्रिप्टमध्ये विशेषता डेटा प्राप्त करून अशा परिस्थितीची चाचणी केली जाऊ शकते. अशा प्रकारे, रचना उत्पादन वातावरणात प्रवेश करण्यापूर्वी हा एक आदर्श चाचणी दृष्टिकोन आहे.

सेलेनियम जावास्क्रिप्ट चाचण्यांमध्ये मालमत्ता डेटा कसा मिळवायचा

सेलेनियम हे एक लोकप्रिय वेब ऑटोमेशन टेस्टिंग टूल आहे ज्यात त्याच्या मोठ्या ओपन सोर्स कम्युनिटी सपोर्ट आणि आपल्या पसंतीच्या प्रोग्रामिंग भाषेत चाचण्या लिहिण्यास सुलभता आहे. याव्यतिरिक्त, सेलेनियम ऑटोमेशन श्रेणी मोठ्या प्रमाणावर वापरली जाते ब्राउझर सुसंगतता चाचणी हे सुनिश्चित करते की वेबसाइट (किंवा वेब अनुप्रयोग) विविध ब्राउझर, प्लॅटफॉर्म आणि डिव्हाइसेसच्या संयोजनाद्वारे अखंडपणे कार्य करते.

सेलेनियम և जावास्क्रिप्ट वापरून, आपण HTML घटकांचा विशेषता डेटा मिळवू शकता जे सध्या वेबसाइटवर (किंवा वेब अनुप्रयोग) प्रदर्शित केले जातात. याव्यतिरिक्त, वेबलेमेंट गुणधर्म इव्हेंट बदलतात तेव्हा आपण बदललेल्या गुणधर्मांसाठी देखील तपासू शकता (उदाहरणार्थ, रंग, अँकर टॅगसाठी दुवे अद्यतने इ.).

सेलेनियम मध्ये getAttribute ()

चाचणी केलेल्या HTML घटकांचे गुणधर्म मिळवण्यासाठी सेलेनियमची getAttribute () पद्धत वापरली जाते. ही पद्धत WebElement वर्गाचा भाग आहे. वर्ग, नाव, src, CSS शैली मूल्य आणि अधिक सारख्या विविध गुणधर्मांसाठी मूल्य मिळवण्यासाठी GetAttribute () पद्धत वापरली जाऊ शकते.

अधिक स्पष्टपणे, ही सेलेनियम पद्धत त्या गुणधर्मासाठी डेटा परत करते, जर ती विशेषता अन्यथा उपस्थित असेल तर ती शून्य परत करते. उदाहरणार्थ, getAttribute () पद्धत टेक्स्टेरिया घटकाची “मूल्य” मालमत्ता मिळवण्यासाठी वापरली जाऊ शकते. “स्टाईल” गुणधर्म खालील स्वल्पविरामाने मजकूर प्रतिनिधित्व मध्ये रूपांतरित केले जाते.

मांडणी:

1:

2:

var ele = driver.findElement(By.id('#'));

var attribute_value= ele.getAttribute('attribute_name');  

डेम स्थान. सेलेनियम जावास्क्रिप्टमध्ये वैशिष्ट्य डेटा कसा मिळवायचा

जावास्क्रिप्ट वापरून सेलेनियममध्ये गुणधर्म कसे मिळवायचे हे दाखवण्यापूर्वी, सेलेनियम चाचण्या स्वयंचलित करण्यासाठी मूलभूत संरचना तयार असू शकते. आपण आधीच्या शीर्षकाचा आमच्या ब्लॉगचा संदर्भ घेऊ शकता सेलेनियम जावास्क्रिप्टसह ऑटोमेशन चाचणी जावास्क्रिप्ट दुव्यांसह सेलेनियम चाचणी लेखन वातावरण तयार करा.

वैकल्पिकरित्या, आपण ते तपासू शकता! LambdaTest YouTube चॅनेल: व्हिडिओंसाठी जे तुम्हाला सेलेनियम जावास्क्रिप्ट प्रवासात मार्गदर्शन करतील.

https://www.youtube.com/watch?v=zq7snpyr44w:

एक उदाहरण विचारात घ्या अर्ज: जे विविध प्रकारचे पेन ऑनलाईन विकतात. सेलेनियम -जावास्क्रिप्ट वापरून विशेषता डेटा कसा मिळवायचा याचे प्रात्यक्षिक म्हणून आम्ही हे साध्य करण्याची योजना आखली आहे.

चाचणी परिस्थिती

दोन्ही लिपी सेलेनियम -जावास्क्रिप्ट वापरून स्वयंचलित होतील. प्रथम, आम्हाला पृष्ठावरील संबंधित वैशिष्ट्यांचा डेटा मिळतो.

  • जेव्हा वापरकर्ता फिल्टर विभागात प्रदर्शित केलेल्या रंगाच्या पट्ट्यांवर फिरण्याचा प्रयत्न करतो तेव्हा उत्पादनाचा रंग वापरकर्त्याला प्रदर्शित केल्याप्रमाणे आहे हे तपासा.
  • बॅकएंड पृष्ठावरून वापरकर्त्याला योग्य उत्पादन नाव काढून टाकले आहे का ते तपासा.

अंमलबजावणी:

चाचण्या क्लाउड-आधारित सेलेनियम ग्रिडद्वारे लॅम्बडाटेस्टद्वारे घेतल्या जातात. क्लाउड-आधारित ग्रिडचा फायदा असा आहे की सेलेनियम चाचणी ऑटोमेशन मोठ्या प्रमाणात ब्राउझर, प्लॅटफॉर्म आणि डिव्हाइसेसच्या संयोजनाद्वारे पूर्ण केले जाऊ शकते.

तू करू शकतोस: सेलेनियम मध्ये समांतर प्रयोग LambdaTest Grid द्वारे ऑफर केलेल्या स्पीड स्केलचा लाभ घ्या. LambdaTest सह खाते तयार केल्यानंतर, आपले वापरकर्तानाव և लॉगिन की प्रविष्ट करा LambdaTest प्रोफाइल विभाग:,

वाचा – क्लाउड साइट चाचणीचे मुख्य फायदे

वापरा: LambdaTest क्षमता जनरेटर इच्छित ब्राउझर क्षमता निर्माण करा ज्यासाठी सेलेनियम चाचणी स्वयंचलित असावी. LT_user आणि LT_token पर्यावरण व्हेरिएबल्स अनुक्रमे LambdaTest वापरकर्तानाव և प्रवेश की वर सेट करा.

require('dotenv').config();
exports.config = {
  LT_user:  process.env.LT_user, // Your LambdaTest username
  LT_pass:process.env.LT_token, // Your LambdaTest token
  capabilities: {
  'build':  'Mocha-Selenium-Sample', //Build name
  'name':  'Test sample for getAttribute()', // Test name
  'platform':  'Windows 10', // OS name
  'browserName':  'chrome', // Browser name
  'version':  'latest', // Browser version
  'visual':  true, // To take step by step screenshot
  'network':  true, // To capture network Logs
  'console':  true, // To capture console logs.
  }
}

प्रात्यक्षिक स्थापनेसाठी आम्ही सेलेनियम वेब ड्रायव्हरची सेलेनियम 4 (बीटा 2) आवृत्ती वापरतो. सेलेनियम 4 ऑफर बद्दल अधिक जाणून घेण्यासाठी, कृपया पहा लॅम्बडाटेस्ट लर्निंग हब येथे सेलेनियम 4,

{
  "name": "lambdatest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "mocha --recursive --timeout 300000 ./tests/tests.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "chromedriver": "^89.0.0",
    "dotenv": "^8.2.0",
    "mocha": "^8.3.2",
    "selenium-webdriver": "^4.0.0-beta.2"
  }
}
require('chromedriver');
const assert = require('assert');
const { Builder, By } = require('selenium-webdriver');
const { config } = require('../conf/conf.js');
const conf=require("../conf/conf.js").config;
const USERNAME = conf.LT_user
const KEY = conf.LT_pass;
const GRID_HOST = 'hub.lambdatest.com/wd/hub';
 
describe('Check Colours in filter section', function () {
    let driver;
 
    before(async function () {
        let caps=conf.capabilities;
        let gridUrl="https://" + USERNAME + ':' + KEY + '@' + GRID_HOST;
        console.log(gridUrl)
        driver = await new Builder().usingServer(gridUrl).withCapabilities(caps).build();
        await driver.get('https://www.pens.com/ie/c/pens-writing');
    
    });
 
    it('Verify the colour matches the swatch title', async function () {
        
        let list = await driver.findElements(By.css("a[class="colour-swatch "]"));
        let colour=[];
        for (item of list) {
            //Using getAttribute to get the data
            let col = await item.getAttribute("title");
            colour.push(col)
        }
        console.log(colour)
 
    });
 
    it('Check the Product name matches with data attribute', async function(){ 
        let product_data_attribute = await driver.findElement(By.id('product-card-1'));
        let product_name_displayed = await driver.findElement(By.className('product-card__name'));
        console.table([await product_data_attribute.getAttribute('data-prod-name') , await product_name_displayed.getText()])
 
    });
 
    after(() => driver && driver.quit());
})

कोड वॉकथ्रू:

1 ली पायरी:

चाचणी conf.js मध्ये घोषित केलेली ब्राउझर क्षमता वापरते. चाचणी विंडोज 10 वर क्रोम 89.0 चालवेल. सेलेनियम वेब ऑटोमेशन चालवणारे लॅम्ब्डाटेस्ट ग्रिड hub.lambdatest.com/wd/hub येथे परिभाषित केले आहे.

1:

2:

let caps=conf.capabilities;

let gridUrl='https://' + USERNAME + ':' + KEY + '@' + GRID_HOST;

पायरी 2:
सेलेनियम वेबड्रायव्हर मिळवण्याची पद्धत चाचणी URL सेट करण्यासाठी वापरली जाते.

पायरी 3:
सेलेनियममध्ये, CSE सिलेक्टर प्रॉपर्टीचा वापर करून WebElements शोधण्यासाठी findElements पद्धत वापरली जाते. तुम्ही आमचा ब्लॉग पाहू शकता सेलेनियम वेब ऑटोमेशनसाठी परीक्षक CSS सिलेक्टर कसे वापरतात,

1:

let list = await driver.findElements(By.css("a[class="colour-swatch "]"));

वेब ब्राउझर शोधण्यासाठी क्रोम ब्राउझर चेकर वापरला जातो.

पायरी 4:

प्रत्येक आयटमसाठी “शीर्षक” विशेषता मिळविण्यासाठी संपूर्ण सूचीवर नेव्हिगेट करा.

1:

2:

3:

4:

5:

for (item of list) {

            

            let col = await item.getAttribute("title");

            colour.push(col)

}

खाली दर्शविल्याप्रमाणे, सूचीतील संबंधित आयटम पांढरा आहे. तत्सम पंक्तींमध्ये, आपल्याकडे सूची आयटमसाठी शीर्षके असतील, जसे की एसपी, हलका निळा, निळा, इत्यादी.

पायरी 5:
“उत्पादन नाव डेटा गुणधर्माशी जुळते हे तपासा” फंक्शनमध्ये, आम्हाला प्रथम ID गुणधर्म (म्हणजे, उत्पादन-कार्ड -1) वापरून WebElement सापडते.

1:

let product_data_attribute = await driver.findElement(By.id('product-card-1'));

पायरी 6:
सेलेनियम मधील className मालमत्ता वापरून, आम्हाला WebElement उत्पादन-कार्ड__ नाव सापडते

1:

let product_name_displayed = await driver.findElement(By.className('product-card__name'));

आम्ही Chrome मध्ये इन्स्पेक्ट टूल (किंवा Chrome DevTools) वापरून WebElement कसे स्थापित केले ते येथे आहे:

पायरी 7:
जावास्क्रिप्टमध्ये, console.table फंक्शनचा वापर सारणी स्वरूपात डेटा प्रदर्शित करण्यासाठी केला जातो. सेलेनियममध्ये, प्रत्येक उत्पादनासाठी डेटा गोळा करण्यासाठी getAttribute पद्धत वापरली जाते.

1:

सांत्वन करणे टेबल ([await product_data_attribute.getAttribute('data-prod-name') , await product_name_displayed.getText()])

संबंधित वैशिष्ट्य तपशील मिळविण्यासाठी Chrome चे तपासणी साधन कसे वापरले जाते ते येथे आहे.

कामगिरी परिणाम:

जावास्क्रिप्ट वापरून सेलेनियम विशेषता डेटा कसा मिळवायचा हे दाखवणारे उदाहरण चालवण्यासाठी टर्मिनलवरून खालील आदेश चालवा.

npm test

येथे टर्मिनल वरून लॅम्बडाटेस्ट ऑटोमेशन पॅनल जे दर्शवते की चाचणी यशस्वी झाली.

इतके लोक

स्त्रोत:

या ब्लॉगमध्ये आम्ही जावास्क्रिप्ट len सेलेनियम वापरून विशेषता डेटा कसा वाचावा (किंवा मिळवा) शिकलो. हे सेलेनियम वेब ऑटोमेशन परिस्थितींमध्ये वापरले जाऊ शकते जेथे आपल्याला पृष्ठ विशेषता मूल्ये वाचण्याची आवश्यकता आहे.

सेलेनियममध्ये, getAttribute () पद्धत संबंधित गुणधर्माचे मूल्य वाचण्यासाठी वापरली जाते. आम्ही लॅम्बडाटेस्ट-प्रस्तावित सेलेनियम ग्रिड क्लाउडमध्ये getAttribute () देखील सादर केले आणि विंडोज 10 मध्ये स्थापित क्रोम ब्राउझरसह देखील असेच केले. अशा प्रकारे, LambdaTest सारख्या क्लाउड-आधारित सेलेनियम ग्रिडचा वापर करून मोठ्या प्रमाणात ब्राउझर सुसंगतता चाचणी केली जाऊ शकते. शिवाय, हे 2000+ ब्राउझर -ऑपरेटिंग सिस्टममध्ये ऑनलाइन ऑटोमेशन चाचण्यांना परवानगी देते.

सेलेनियम जावास्क्रिप्ट विशेषता डेटा अधिक कार्यक्षमतेने मिळवण्यासाठी क्लाउड-आधारित सेलेनियम ग्रिडचे फायदे वापरणे चांगले.

सेलेनियम -जावास्क्रिप्ट चाचणीसाठी अभिनंदन.