సెలీనియం వెబ్‌డ్రైవర్ ఉపయోగించి టూల్‌టిప్‌ను ఎలా ధృవీకరించాలి

సెలీనియంలో టూల్‌టిప్

కు సెలీనియంలో టూల్‌టిప్ ఒక వెబ్ పేజీలో ఒక వస్తువుపై మౌస్ హోవర్ చేసినప్పుడు కనిపించే టెక్స్ట్. ఆబ్జెక్ట్ లింక్, ఇమేజ్, బటన్, టెక్స్ట్ ఏరియా, మొదలైనవి కావచ్చు. టూల్‌టిప్ టెక్స్ట్ తరచుగా యూజర్ మౌస్ కర్సర్‌పై ఉన్న వస్తువు గురించి మరింత సమాచారం ఇస్తుంది.

టూల్‌టిప్‌లు సాంప్రదాయకంగా ఒక మూలకానికి 'శీర్షిక' లక్షణంగా అమలు చేయబడ్డాయి. ఈ లక్షణం యొక్క విలువ మౌస్-హోవర్‌లో టూల్‌టిప్‌గా చూపబడింది. ఇది స్టైలింగ్ లేని మూలకం యొక్క సమాచారాన్ని అందించే స్టాటిక్ టెక్స్ట్.

ఇప్పుడు, 'టూల్ టిప్స్' అమలు కోసం అనేక ప్లగిన్‌లు అందుబాటులో ఉన్నాయి. స్టైలింగ్, రెండరింగ్, ఇమేజ్‌లు మరియు లింక్‌లతో అధునాతన టూల్‌టిప్‌లు జావాస్క్రిప్ట్/J క్వెరీ ప్లగిన్‌లను ఉపయోగించి లేదా CSS టూల్‌టిప్‌లను ఉపయోగించి అమలు చేయబడుతున్నాయి.

  • HTML 'శీర్షిక' లక్షణాన్ని ఉపయోగించి అమలు చేయబడిన స్టాటిక్ టూల్‌టిప్‌లను యాక్సెస్ చేయడానికి లేదా ధృవీకరించడానికి, మేము కేవలం WebElement యొక్క getAttribute ('title') పద్ధతిని ఉపయోగించవచ్చు. ఈ పద్ధతి యొక్క తిరిగి ఇవ్వబడిన విలువ (ఇది టూల్‌టిప్ టెక్స్ట్) ధృవీకరణ కోసం ఆశించిన విలువతో పోల్చబడుతుంది.
  • ఇతర రకాల టూల్‌టిప్ అమలుల కోసం, మౌస్ హోవర్ ఎఫెక్ట్‌ను సృష్టించడానికి మరియు ఎలిమెంట్ కోసం టూల్‌టిప్‌ను తిరిగి పొందడానికి మేము వెబ్ డ్రైవర్ అందించిన 'అడ్వాన్స్‌డ్ యూజర్ ఇంటరాక్షన్స్ API' ని ఉపయోగించాల్సి ఉంటుంది.

అధునాతన వినియోగదారు ఇంటరాక్షన్స్ API యొక్క సంక్షిప్త వివరణ:

అడ్వాన్స్‌డ్ యూజర్ ఇంటరాక్షన్స్ API డ్రాగ్ అండ్ డ్రాప్, హోవర్ చేయడం, మల్టీ సెలెక్టింగ్, కీ ప్రెస్ మరియు రిలీజ్ మరియు వెబ్‌పేజీలో కీబోర్డ్ లేదా మౌస్ ఉపయోగించి ఇతర చర్యల వంటి యూజర్ చర్యల కోసం API ని అందిస్తుంది.

API లో మరిన్ని వివరాల కోసం మీరు ఈ లింక్‌ని చూడవచ్చు.

https://seleniumhq.github.io/selenium/docs/api/java/index.html?org/openqa/selenium/interactions/Actions.html

ఇక్కడ, స్లైడర్ మూలకాన్ని ఆఫ్‌సెట్ ద్వారా తరలించడానికి అవసరమైన రెండు తరగతులు మరియు పద్ధతులను ఎలా ఉపయోగించాలో చూద్దాం.

దశ 1) API ని ఉపయోగించడానికి, కింది ప్యాకేజీలు/తరగతులు దిగుమతి చేయాలి:

దశ 2) 'చర్యలు' తరగతి యొక్క వస్తువును సృష్టించండి మరియు వినియోగదారు చర్యల క్రమాన్ని రూపొందించండి. MotionToElement (), dragAndDrop () వంటి యూజర్ చర్యల క్రమాన్ని రూపొందించడానికి యాక్షన్ క్లాస్ ఉపయోగించబడుతుంది. యూజర్ చర్యలకు సంబంధించిన వివిధ పద్ధతులు API ద్వారా అందించబడతాయి.

డ్రైవర్ వస్తువు దాని నిర్మాతకు పరామితిగా అందించబడుతుంది.

దశ 3) 'చర్యలు' తరగతి బిల్డ్ () పద్ధతిని ఉపయోగించి యాక్షన్ ఆబ్జెక్ట్‌ను సృష్టించండి. చర్యల వస్తువు (ఇక్కడ బిల్డర్) ద్వారా నిర్మించిన అన్ని చర్యలను అమలు చేయడానికి ప్రదర్శన () పద్ధతికి కాల్ చేయండి.

API - clickAndHold (మూలకం), moveByOffset (10,0), విడుదల () ద్వారా అందించబడిన కొన్ని వినియోగదారు చర్యల పద్ధతులను ఎలా ఉపయోగించాలో మేము చూశాము. API అటువంటి అనేక పద్ధతులను అందిస్తుంది.

ని చూడండి లింక్ మరిన్ని వివరాల కోసం.

సెలీనియం వెబ్‌డ్రైవర్‌లో టూల్‌టిప్ టెక్స్ట్‌ను ఎలా పొందాలి

సాధారణ దృష్టాంతంలో సాధన చిట్కాలను యాక్సెస్ చేయడం మరియు ధృవీకరించడం యొక్క ప్రదర్శనను చూద్దాం

  • దృష్టాంతం 1: టూల్‌టిప్ 'టైటిల్' లక్షణాన్ని ఉపయోగించి అమలు చేయబడుతుంది
  • దృష్టాంతం 2: టూల్‌టిప్ j క్వెరీ ప్లగ్‌ఇన్ ఉపయోగించి అమలు చేయబడుతుంది.

దృష్టాంతం 1: HTML 'శీర్షిక' లక్షణం

ఈ సందర్భంలో, ఉదాహరణ సైట్‌ను తీసుకుందాం - https://demo.on2vhf.be/test/social-icon.html .

పేజీ ఎగువ కుడి వైపున ఉన్న 'గితుబ్' చిహ్నం యొక్క టూల్‌టిప్‌ను ధృవీకరించడానికి మేము ప్రయత్నిస్తాము.

దీన్ని చేయడానికి, మేము మొదట మూలకాన్ని కనుగొని దాని 'శీర్షిక' లక్షణాన్ని పొందుతాము మరియు ఆశించిన సాధనం చిట్కా వచనంతో ధృవీకరిస్తాము.

టూల్ చిట్కా 'టైటిల్' లక్షణంలో ఉందని మేము భావిస్తున్నందున, మేము మౌస్ హోవర్ ప్రభావాన్ని కూడా ఆటోమేట్ చేయము కానీ 'getAttribute ()' పద్ధతిని ఉపయోగించి లక్షణం విలువను తిరిగి పొందుతాము.

ఇక్కడ కోడ్ ఉంది

 import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.*; public class ToolTip { public static void main(String[] args) { String baseUrl = 'https://demo.on2vhf.be/test/social-icon.html'; System.setProperty('webdriver.chrome.driver','G:\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.get(baseUrl); String expectedTooltip = 'Github'; // Find the Github icon at the top right of the header WebElement github = driver.findElement(By.xpath('.//*[@class='soc-ico show-round']/a[4]')); //get the value of the 'title' attribute of the github icon String actualTooltip = github.getAttribute('title'); //Assert the tooltip's value is as expected System.out.println('Actual Title of Tool Tip'+actualTooltip); if(actualTooltip.equals(expectedTooltip)) { System.out.println('Test Case Passed'); } driver.close(); } } 

కోడ్ వివరణ

  1. 'గితుబ్' చిహ్నాన్ని సూచించే WebElement ని కనుగొనండి.
  2. GetAttribute () పద్ధతిని ఉపయోగించి దాని 'శీర్షిక' లక్షణాన్ని పొందండి.
  3. ఆశించిన టూల్‌టిప్ విలువకు వ్యతిరేకంగా విలువను నొక్కి చెప్పండి.

దృష్టాంతం 2: J క్వెరీ ప్లగిన్:

టూల్‌టిప్‌లను అమలు చేయడానికి JQuery ప్లగిన్‌లు పుష్కలంగా అందుబాటులో ఉన్నాయి, మరియు ప్రతి ఒక్కటి కొద్దిగా భిన్నమైన అమలును కలిగి ఉంటాయి.

టూల్‌టిప్ వర్తించే మూలకం పక్కన టూల్‌టిప్ HTML ఎల్లప్పుడూ ఉండాలని కొన్ని ప్లగిన్‌లు ఆశిస్తాయి, అయితే ఇతరులు డైనమిక్ 'డివి' ట్యాగ్‌ను సృష్టిస్తారు, ఇది ఎలిమెంట్‌పై హోవర్ చేస్తున్నప్పుడు ఫ్లైలో కనిపిస్తుంది.

మా ప్రదర్శన కోసం, టూల్‌టిప్ అమలు యొక్క 'j క్వెరీ టూల్స్ టూల్‌టిప్' మార్గాన్ని పరిశీలిద్దాం.

ఇక్కడ URL లో - https://demo.on2vhf.be/test/tooltip.html 'ఇప్పుడు డౌన్‌లోడ్ చేయి' మీద మౌస్‌ని ఉంచిన డెమోను మీరు చూడవచ్చు, మేము ఒక ఇమేజ్, కాల్‌అవుట్ బ్యాక్‌గ్రౌండ్, టేబుల్ మరియు దాని లోపల క్లిక్ చేయగల అధునాతన టూల్‌టిప్‌ను పొందుతాము.

మీరు దిగువ మూలాన్ని చూస్తే, టూల్‌టిప్‌ను సూచించే డివి ట్యాగ్ 'ఇప్పుడు డౌన్‌లోడ్ చేయి' లింక్ ట్యాగ్ పక్కన ఎల్లప్పుడూ ఉండేలా చూడవచ్చు. కానీ, స్క్రిప్ట్ ట్యాగ్ లోపల ఉన్న కోడ్ పాపప్ కావాల్సినప్పుడు కంట్రోల్ చేస్తుంది.

ఇక్కడ మా ప్రదర్శన కోసం టూల్‌టిప్‌లోని లింక్ టెక్స్ట్‌ను ధృవీకరించడానికి ప్రయత్నిద్దాం.

మేము ఇప్పుడు 'ఇప్పుడు డౌన్‌లోడ్ చేయి'కి సంబంధించిన వెబ్‌ఎలిమెంట్‌ను కనుగొంటాము. అప్పుడు ఇంటరాక్షన్స్ API ని ఉపయోగించి, మేము మూలకం (మౌస్-హోవర్) కి వెళ్తాము. తరువాత, ప్రదర్శించబడే టూల్‌టిప్ లోపల ఉన్న లింక్‌కి అనుగుణమైన వెబ్‌ఎలిమెంట్‌ను మేము కనుగొంటాము మరియు దానిని ఆశించిన టెక్స్ట్‌కు వ్యతిరేకంగా ధృవీకరిస్తాము.

ఇక్కడ కోడ్ ఉంది

 import org.openqa.selenium.interactions.Action; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.*; public class JqueryToolTip { public static void main(String[] args) { String baseUrl = 'https://demo.on2vhf.be/test/tooltip.html'; System.setProperty('webdriver.chrome.driver','G:\chromedriver.exe'); WebDriver driver = new ChromeDriver(); String expectedTooltip = 'What's new in 3.2'; driver.get(baseUrl); WebElement download = driver.findElement(By.xpath('.//*[@id='download_now']')); Actions builder = new Actions (driver); builder.clickAndHold().moveToElement(download); builder.moveToElement(download).build().perform(); WebElement toolTipElement = driver.findElement(By.xpath('.//*[@class='box']/div/a')); String actualTooltip = toolTipElement.getText(); System.out.println('Actual Title of Tool Tip '+actualTooltip); if(actualTooltip.equals(expectedTooltip)) { System.out.println('Test Case Passed'); } driver.close(); } } 

కోడ్ వివరణ

  1. మౌస్-హోవర్ చేసే 'ఇప్పుడే డౌన్‌లోడ్ చేయండి' అనే మూలకానికి సంబంధించిన వెబ్‌ఎలిమెంట్‌ను కనుగొనండి.
  2. ఇంటరాక్షన్స్ API ని ఉపయోగించి, 'ఇప్పుడే డౌన్‌లోడ్ చేయి' పై మౌస్ హోవర్ చేయండి.
  3. టూల్‌టిప్ ప్రదర్శించబడిందని ఊహిస్తూ, టూల్‌టిప్ అంటే 'a' ట్యాగ్‌లోని లింక్‌కు సంబంధించిన వెబ్‌ఎలిమెంట్‌ను కనుగొనండి.
  4. GetText () ఉపయోగించి తిరిగి పొందబడిన లింక్ యొక్క టూల్‌టిప్ టెక్స్ట్‌ని ధృవీకరించండి, మనం 'ఆశించిన టూల్‌టిప్' లో నిల్వ చేసిన అంచనా విలువకు వ్యతిరేకంగా

సారాంశం:

ఈ ట్యుటోరియల్‌లో, సెలీనియం వెబ్ డ్రైవర్‌ను ఉపయోగించి టూల్‌టిప్‌లను ఎలా యాక్సెస్ చేయాలో మీరు నేర్చుకున్నారు.

  • ఉపకరణ చిట్కాలు వివిధ మార్గాల్లో అమలు చేయబడతాయి -
    • ప్రాథమిక అమలు HTML యొక్క 'శీర్షిక' లక్షణంపై ఆధారపడి ఉంటుంది. getAttribute (శీర్షిక) టూల్‌టిప్ విలువను పొందుతుంది.
    • JQuery, CSS టూల్‌టిప్‌ల వంటి ఇతర టూల్ టిప్ అమలు మౌస్ హోవర్ ప్రభావాన్ని సృష్టించడానికి ఇంటరాక్షన్స్ API అవసరం
  • అధునాతన వినియోగదారు పరస్పర చర్యల API
    • మూలకాల మౌస్‌ను హోవర్ చేయడానికి యాక్షన్ క్లాస్ యొక్క మూవ్‌టోఎలమెంట్ (మూలకం) ఉపయోగించబడుతుంది.
    • యాక్షన్ క్లాస్ యొక్క బిల్డ్ () పద్ధతి యూజర్ చర్యల క్రమాన్ని యాక్షన్ ఆబ్జెక్ట్‌గా రూపొందిస్తుంది.
    • యాక్షన్ క్లాస్ యొక్క పెర్ఫార్మ్ () యూజర్ చర్యల అన్ని క్రమాన్ని ఒకేసారి అమలు చేస్తుంది.
  • టూల్‌టిప్‌ను ధృవీకరించడానికి, మేము మొదట మూలకాన్ని మౌస్-హోవర్ చేయాలి, ఆపై టూల్ టిప్‌కు సంబంధించిన ఎలిమెంట్‌ను కనుగొని, దాని టెక్స్ట్ లేదా ఇతర విలువలను ఆశించిన విలువలకు ధృవీకరించడానికి పొందండి.