{"id":847,"date":"2013-01-02T09:54:46","date_gmt":"2013-01-02T09:54:46","guid":{"rendered":"http:\/\/vskills.in\/certification\/tutorial\/?p=847"},"modified":"2024-04-12T14:13:14","modified_gmt":"2024-04-12T08:43:14","slug":"event-firing","status":"publish","type":"page","link":"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/","title":{"rendered":"Selenium Testing | Event Firing"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a ref=\"magnificPopup\" href=\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23.png\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"400\" src=\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23.png\" alt=\"event firing \" class=\"wp-image-93695\" srcset=\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23.png 750w, https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23-300x160.png 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/a><\/figure><\/div>\n\n\n<h3><strong>Event Firing<\/strong><\/h3>\n<header class=\"entry-header\">\n<h4 class=\"entry-title\">Event Firing WebDriver\u201d \u2013 It hears whatever you\u00a0do!<\/h4>\n<\/header>\n<div class=\"entry-content\">\n<div>\n<p>WebDriver is an interface to begin with&#8230;.<\/p>\n<p>All browser implementations, implement this interface and provide concrete implementations for the specific br<span id=\"more-66\"><\/span>owser and that is how you have InternetExplorerDriver, FirefoxDriver, ChromeDriver etc.,<\/p>\n<p><strong>EventFiringWebDriver<\/strong> is also a concrete implementation of the WebDriver, but what it does is, it doesn\u2019t implement the WebDriver directly, but binds itself to an existing object of any of the webdrivers listed above, and then when used, it triggers events.<\/p>\n<p>So using <strong>EventFiringWebDriver<\/strong> you can listen to events such as before text is changed, after text is changed, before url is loaded etc., and choose to do something with the <strong>EventFiringWebDriver<\/strong>.<\/p>\n<p>Webdriver has a<strong> WebDriverEventListener<\/strong> interface which you can implement and override the particular listener you want. We use this Listener Interface to capture the events generated by <strong>EventFiringWebDriver<\/strong>.<\/p>\n<p>Methods available in <strong>webdrivereventlistener:<\/strong><\/p>\n<ul>\n<li><address>afterChangeValueOf(WebElement element, WebDriver driver)<\/address><\/li>\n<li><address>Called after WebElement.clear(), WebElement.sendKeys(\u2026)}.<\/address><\/li>\n<li><address>afterClickOn(WebElement element, WebDriver driver)<\/address><\/li>\n<li><address>Called after WebElement.click().<\/address><\/li>\n<li><address>afterFindBy(By by, WebElement element, WebDriver driver)<\/address><\/li>\n<li><address>Called after WebDriver.findElement(\u2026), or WebDriver.findElements(\u2026), or WebElement.findElement(\u2026), or WebElement.findElements(\u2026).<\/address><\/li>\n<li><address>afterNavigateBack(WebDriver driver)<\/address><\/li>\n<li><address>Called after navigate().back().<\/address><\/li>\n<li><address>afterNavigateForward(WebDriver driver)<\/address><\/li>\n<li><address>Called after navigate().forward().<\/address><\/li>\n<li><address>afterNavigateTo(java.lang.String url, WebDriver driver)<\/address><\/li>\n<li><address>Called after get(String url) respectively navigate().to(String url).<\/address><\/li>\n<li><address>afterScript(java.lang.String script, WebDriver driver)<\/address><\/li>\n<li><address>Called after RemoteWebDriver.executeScript(java.lang.String, java.lang.Object[]).<\/address><\/li>\n<li><address>beforeChangeValueOf(WebElement element, WebDriver driver)<\/address><\/li>\n<li><address>Called before WebElement.clear(), WebElement.sendKeys(\u2026).<\/address><\/li>\n<li><address>beforeClickOn(WebElement element, WebDriver driver)<\/address><\/li>\n<li><address>Called before WebElement.click().<\/address><\/li>\n<li><address>beforeFindBy(By by, WebElement element, WebDriver driver)<\/address><\/li>\n<li><address>Called before WebDriver.findElement(\u2026), or WebDriver.findElements(\u2026), or WebElement.findElement(\u2026), or WebElement.findElements(\u2026).<\/address><\/li>\n<li><address>beforeNavigateBack(WebDriver driver)<\/address><\/li>\n<li><address>Called before navigate().back().<\/address><\/li>\n<li><address>beforeNavigateForward(WebDriver driver)<\/address><\/li>\n<li><address>Called before navigate().forward().<\/address><\/li>\n<li><address>beforeNavigateTo(java.lang.String url, WebDriver driver)<\/address><\/li>\n<li><address>Called before get(String url) respectively navigate().to(String url).<\/address><\/li>\n<li><address>beforeScript(java.lang.String script, WebDriver driver)<\/address><\/li>\n<li><address>Called before RemoteWebDriver.executeScript(java.lang.String, java.lang.Object[])<\/address><\/li>\n<li><address>onException(java.lang.Throwable throwable, WebDriver driver)<\/address><\/li>\n<li><address>Called whenever an exception would be thrown.<\/address><\/li>\n<\/ul>\n<p>Let us see how to implement this interface to capture our events. The following code snippet gives better idea of implementing it.<\/p>\n<p>Below is the test code:<\/p>\n<address>public class eventlistenerTest {<\/address><address>@Test<\/address><address>public void WedrivereventlistenerTest(){<\/address><address>FirefoxDriver d1 = new FirefoxDriver();<\/address><address>EventFiringWebDriver event = new EventFiringWebDriver(d1);<\/address><address>WebDriverListerners eventListener = new WebDriverListerners();<\/address><address>event.register(eventListener);<\/address><address>event.manage().window().maximize();<\/address><address>event.navigate().to(\u201chttps:\/\/www.esurance.com\/\u201d);<\/address><address>event.findElement(By.id(\u201cV1AtxtZipCode\u201d)).sendKeys(\u201c90001\u2033);<\/address><address>event.findElement(By.id(\u201cV1AbtnGoZip\u201d)).click();<\/address><address>event.findElement(By.id(\u201cIBWC1Clickable_1\u2033)).click();<\/address><address>event.findElement(By.id(\u201cODI1LastNameData\u201d)).sendKeys(\u201cgs\u201d);<\/address><address>event.findElement(By.id(\u201cODI1StreetAddressData_1\u2033)).sendKeys(\u201csdfgsdf\u201d);<\/address><address>event.findElement(By.id(\u201cIBWC2ValidateClickable\u201d)).click();<\/address><address>event.quit();<\/address><address>}<\/address><address>}<\/address><address>\u00a0<\/address>\n<p>Now we will implement the WebdriverEventListener Interface by overriding the existing methods.<\/p>\n<p>import <span class=\"skimlinks-unlinked\">java.io.BufferedWriter<\/span>;<\/p>\n<p>import <span class=\"skimlinks-unlinked\">java.io.File<\/span>;<br \/>import <span class=\"skimlinks-unlinked\">java.io.FileWriter<\/span>;<br \/>import <span class=\"skimlinks-unlinked\">java.io.IOException<\/span>;<br \/>import <span class=\"skimlinks-unlinked\">java.text.SimpleDateFormat<\/span>;<br \/>import <span class=\"skimlinks-unlinked\">java.util.Calendar<\/span>;<br \/>import <span class=\"skimlinks-unlinked\">org.apache.bcel.generic.LSTORE<\/span>;<br \/>import <span class=\"skimlinks-unlinked\">org.apache.commons.io.FileUtils<\/span>;<br \/>import <span class=\"skimlinks-unlinked\">org.openqa.selenium.By<\/span>;<br \/>import org.openqa.selenium.WebElement;<br \/>import org.openqa.selenium.StaleElementReferenceException;<br \/>import org.openqa.selenium.JavascriptExecutor;<br \/>import org.openqa.selenium.OutputType;<br \/>import org.openqa.selenium.TakesScreenshot;<br \/>import org.openqa.selenium.WebDriver;<br \/>import org.openqa.selenium.support.events.AbstractWebDriverEventListener;<br \/>import <span class=\"skimlinks-unlinked\">org.openqa.selenium.support.ui.Select<\/span>;<br \/>import org.testng.Reporter;<br \/>public class WebDriverListerners extends AbstractWebDriverEventListener {<br \/>private By lastFindBy;<br \/>private WebElement lastElement;<br \/>private String originalValue;<br \/>\/*<br \/>*\u00a0 URL NAVIGATION | NAVIGATE() &amp; GET()<br \/>*\/<br \/>\/\/ Prints the URL before Navigating to specific URL \u201cget(\u201c<a class=\"skimlinks-unlinked\" title=\"\" href=\"http:\/\/www.esurance.com\" data-skimwords-word=\"http%3A%2F%2Fwww.esurance.com\" data-skim-creative=\"500005\">http:\/\/www.esurance.com<\/a>\u201d);\u201d<br \/>@Override<br \/>public void beforeNavigateTo(String url, WebDriver driver) {<br \/>commonReport(\u201cBefore Navigating To : \u201d + url + \u201c, my url was: \u201c+ driver.getCurrentUrl(),dateTimeStamp());<br \/>}<br \/>\/\/ Prints the current URL after Navigating to specific URL \u201cget(\u201c<a class=\"skimlinks-unlinked\" title=\"\" href=\"http:\/\/www.esurance.com\" data-skimwords-word=\"http%3A%2F%2Fwww.esurance.com\" data-skim-creative=\"500005\">http:\/\/www.esurance.com<\/a>\u201d);\u201d<br \/>@Override<br \/>public void afterNavigateTo(String url, WebDriver driver) {<br \/>commonReport(\u201cAfter Navigating To: \u201d + url + \u201c, my url is: \u201c+ driver.getCurrentUrl(),dateTimeStamp());<br \/>}<br \/>\/\/ Prints the URL before Navigating back \u201cnavigate().back()\u201d<br \/>@Override<br \/>public void beforeNavigateBack(WebDriver driver) {<br \/>commonReport(\u201cBefore Navigating Back. I was at \u201d + driver.getCurrentUrl(),dateTimeStamp());<br \/>}<br \/>\/\/ Prints the current URL after Navigating back \u201cnavigate().back()\u201d<br \/>@Override<br \/>public void afterNavigateBack(WebDriver driver) {<br \/>commonReport(\u201cAfter Navigating Back. I\u2019m at \u201d + driver.getCurrentUrl(),dateTimeStamp());<br \/>}<br \/>\/\/ Prints the URL before Navigating forward \u201cnavigate().forward()\u201d<br \/>@Override<br \/>public void beforeNavigateForward(WebDriver driver) {<br \/>commonReport(\u201cBefore Navigating Forward. I was at \u201d + driver.getCurrentUrl(),dateTimeStamp());<br \/>}<br \/>\/\/ Prints the current URL after Navigating forward \u201cnavigate().forward()\u201d<br \/>@Override<br \/>public void afterNavigateForward(WebDriver driver) {<br \/>commonReport(\u201cAfter Navigating Forward. I\u2019m at \u201d + driver.getCurrentUrl(),dateTimeStamp());<br \/>}<br \/>\/*<br \/>* ON EXCEPTION | SCREENSHOT, THROWING ERROR<br \/>*\/<br \/>\/\/ Takes screenshot on any Exception thrown during test execution<br \/>@Override<br \/>public void onException(Throwable throwable, WebDriver webdriver) {<br \/>commonReport(\u201cException Occured while performing operation on the above element.\u201d,dateTimeStamp());<br \/>\/\/You can write your own method to capture the screenshot upon failing<br \/>}<br \/>\/*<br \/>* FINDING ELEMENTS | FINDELEMENT() &amp; FINDELEMENTS()<br \/>*\/<br \/>\/\/ Called before finding Element(s)<br \/>@Override<br \/>public void beforeFindBy(By by, WebElement element, WebDriver driver) {<br \/>lastFindBy = by;<br \/>commonReport(\u201cTrying to find: \u2018\u201d + lastFindBy + \u201c\u2018.\u201d,dateTimeStamp());<br \/>}<br \/>\/\/ Called after finding Element(s)<br \/>@Override<br \/>public void afterFindBy(By by, WebElement element, WebDriver driver) {<br \/>lastFindBy = by;<br \/>commonReport(\u201cFound: \u2018\u201d + lastFindBy + \u201c\u2018.\u201d,dateTimeStamp());<br \/>}<br \/>\/*<br \/>* CLICK | CLICK()<br \/>*\/<br \/>\/\/ Called before clicking an Element<br \/>@Override<br \/>public void beforeClickOn(WebElement element, WebDriver driver) {<br \/>String strlastElement=(element.toString().split(\u201c-&gt;\u201d)[1]);<br \/>strlastElement=strlastElement.substring(0,strlastElement.length()-1);<br \/>commonReport(\u201cTrying to click: \u2018\u201d + strlastElement + \u201c\u2018\u201d,dateTimeStamp());<br \/>\/\/ Highlight Elements before clicking<br \/>for (int i = 0; i &lt; 1; i++) {<br \/>JavascriptExecutor js = (JavascriptExecutor) driver;<br \/>js.executeScript(<br \/>\u201carguments[0].setAttribute(\u2018style\u2019, arguments[1]);\u201d,<br \/>element, \u201ccolor: yellow; border: 3px solid black;\u201d);<br \/>}<br \/>}<br \/>\/\/ Called after clicking an Element<br \/>@Override<br \/>public void afterClickOn(WebElement element, WebDriver driver) {<br \/>String strlastElement=(element.toString().split(\u201c-&gt;\u201d)[1]);<br \/>strlastElement=strlastElement.substring(0,strlastElement.length()-1);<br \/>commonReport(\u201cClicked Element with: \u2018\u201d + strlastElement + \u201c\u2018\u201d,dateTimeStamp());<br \/>}<br \/>\/*<br \/>* CHANGING VALUES | CLEAR() &amp; SENDKEYS()<br \/>*\/<br \/>\/\/ Before Changing values<br \/>@Override<br \/>public void beforeChangeValueOf(WebElement element, WebDriver driver) {<br \/>lastElement = element;<br \/>if(element.getAttribute(\u201ctype\u201d).equals(\u201ctext\u201d)||element.getAttribute(\u201ctype\u201d).equals(\u201ctext\u201d)){<br \/>originalValue = element.getText();<br \/>\/\/ What if the element is not visible anymore?<br \/>if (originalValue.isEmpty()) {<br \/>originalValue = element.getAttribute(\u201cvalue\u201d);<br \/>}<br \/>}<br \/>else{<br \/>Select slct=new Select(element);<br \/>originalValue=slct.getFirstSelectedOption().toString();<br \/>}<br \/>}<br \/>\/\/ After Changing values<br \/>@Override<br \/>public void afterChangeValueOf(WebElement element, WebDriver driver) {<br \/>lastElement = element;<br \/>String strlastElement=(element.toString().split(\u201c-&gt;\u201d)[1]);<br \/>strlastElement=strlastElement.substring(0,strlastElement.length()-1);<br \/>String changedValue = \u201c\u201d;<br \/>if(element.getAttribute(\u201ctype\u201d).equals(\u201ctext\u201d)||element.getAttribute(\u201ctype\u201d).equals(\u201ctext\u201d)){<br \/>try {<br \/>changedValue = element.getText();<br \/>} catch (StaleElementReferenceException e) {<br \/>onException(e, driver);<br \/>return;<br \/>}<br \/>\/\/ What if the element is not visible anymore?<br \/>if (changedValue.isEmpty()) {<br \/>changedValue = element.getAttribute(\u201cvalue\u201d);<br \/>}<br \/>}<br \/>else{<br \/>Select slct=new Select(element);<br \/>changedValue=slct.getFirstSelectedOption().toString();<br \/>}<br \/>commonReport(\u201cChanging value in element found \u2018\u201d + strlastElement<br \/>+ \u201c\u2018 from \u2018\u201d + originalValue + \u201c\u2018 to \u2018\u201d + changedValue + \u201c\u2018\u201d,dateTimeStamp());<br \/>}<br \/>\/*<br \/>* SCRIPT \u2013 this section will be modified ASAP<br \/>*\/<br \/>\/\/ Called before RemoteWebDriver.executeScript(<span class=\"skimlinks-unlinked\">java.lang.String<\/span>, <span class=\"skimlinks-unlinked\">java.lang.Object<\/span>[])<br \/>@Override<br \/>public void beforeScript(String script, WebDriver driver) {<br \/>\/\/do nothing<br \/>}<br \/>\/\/ Called before RemoteWebDriver.executeScript(<span class=\"skimlinks-unlinked\">java.lang.String<\/span>, <span class=\"skimlinks-unlinked\">java.lang.Object<\/span>[])<br \/>@Override<br \/>public void afterScript(String script, WebDriver driver) {<br \/>\/\/do nothing<br \/>}<br \/>public void commonReport(String strText,String strTimeStamp){<br \/><span class=\"skimlinks-unlinked\">System.out.println(strTimeStamp<\/span>+\u201d: \u201c+strText);<br \/>}<br \/>public String dateTimeStamp(){<br \/>String dateTime = new SimpleDateFormat(\u201cyyyy-MM-dd HH:mm:ss\u201d).format(Calendar.getInstance().getTime());<br \/>return dateTime;<br \/>}<br \/>}<\/p>\n<p>This will generate the event description in eclipse console. We can customize this, to generate the events in ReportNG and report to your choice.<\/p>\n<\/div>\n<\/div>\n<h3><strong>JavaScript event firing uses the FireEvent method as &#8211;<\/strong><\/h3>\n<p>ISelenium.FireEvent Method<\/p>\n<p>Explicitly simulate an event, to trigger the corresponding &#8220;onevent&#8221; handler.<br \/>void FireEvent(<br \/>string locator,<br \/>string eventName<br \/>);<br \/>Parameters<\/p>\n<p>locator<br \/>an element locator<br \/>eventName<br \/>the event name, e.g. &#8220;focus&#8221; or &#8220;blur&#8221;<\/p>\n<p>The Selenium API command fireEvent example lets you trigger the event for a particular element on a page so fired the &#8216;blur&#8217; event for the component<\/p>\n<p>selSession.fireEvent(&#8220;edit_field_1&#8221;, &#8220;blur&#8221;);<\/p>\n<h3>\u00a0<\/h3>\n<p><a href=\"https:\/\/www.vskills.in\/practice\/selenium\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-93579 size-full aligncenter\" src=\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Free-Practice-test-1.png\" alt=\"Selenium professional free practice test\" width=\"960\" height=\"150\" srcset=\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Free-Practice-test-1.png 960w, https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Free-Practice-test-1-300x47.png 300w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/a><\/p>\n\n\n<p><a href=\"https:\/\/www.vskills.in\/certification\/tutorial\/selenium-certification\/\" target=\"_blank\" rel=\"noreferrer noopener\">Go back to Tutorial<\/a>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"https:\/\/www.vskills.in\/certification\/testing\/certified-selenium-professional\" target=\"_blank\" rel=\"noreferrer noopener\">Go to Home Page<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Event Firing Event Firing WebDriver\u201d \u2013 It hears whatever you\u00a0do! WebDriver is an interface to begin with&#8230;. All browser implementations, implement this interface and provide concrete implementations for the specific browser and that is how you have InternetExplorerDriver, FirefoxDriver, ChromeDriver etc., EventFiringWebDriver is also a concrete implementation of the WebDriver, but what it does is,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"footnotes":""},"categories":[350],"tags":[402,7026,349,7027,6821,7025],"class_list":["post-847","page","type-page","status-publish","hentry","category-selenium","tag-event-firing","tag-selenium-automation-testing","tag-selenium-certification","tag-selenium-documentation","tag-selenium-professional","tag-selenium-webdriver"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Selenium Testing | Event Firing<\/title>\n<meta name=\"description\" content=\"Learn and enhance your Event Firing. Become a Certified Selenium Professional Now! Start with free practice test paper now!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Selenium Testing | Event Firing\" \/>\n<meta property=\"og:description\" content=\"Learn and enhance your Event Firing. Become a Certified Selenium Professional Now! Start with free practice test paper now!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutorial\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/vskills.in\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-12T08:43:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23.png\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/\",\"name\":\"Selenium Testing | Event Firing\",\"isPartOf\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23.png\",\"datePublished\":\"2013-01-02T09:54:46+00:00\",\"dateModified\":\"2024-04-12T08:43:14+00:00\",\"description\":\"Learn and enhance your Event Firing. Become a Certified Selenium Professional Now! Start with free practice test paper now!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/#primaryimage\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23.png\",\"contentUrl\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23.png\",\"width\":750,\"height\":400},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Selenium Testing | Event Firing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"name\":\"Tutorial\",\"description\":\"Vskills - A initiative in elearning and certification\",\"publisher\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\",\"name\":\"Vskills\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"contentUrl\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"width\":73,\"height\":55,\"caption\":\"Vskills\"},\"image\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/vskills.in\/\",\"https:\/\/x.com\/vskills_in\",\"https:\/\/www.linkedin.com\/company-beta\/1371554\/\",\"https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Selenium Testing | Event Firing","description":"Learn and enhance your Event Firing. Become a Certified Selenium Professional Now! Start with free practice test paper now!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/","og_locale":"en_US","og_type":"article","og_title":"Selenium Testing | Event Firing","og_description":"Learn and enhance your Event Firing. Become a Certified Selenium Professional Now! Start with free practice test paper now!","og_url":"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/","og_site_name":"Tutorial","article_publisher":"https:\/\/www.facebook.com\/vskills.in\/","article_modified_time":"2024-04-12T08:43:14+00:00","og_image":[{"url":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23.png","type":"","width":"","height":""}],"twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/","name":"Selenium Testing | Event Firing","isPartOf":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/#primaryimage"},"image":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23.png","datePublished":"2013-01-02T09:54:46+00:00","dateModified":"2024-04-12T08:43:14+00:00","description":"Learn and enhance your Event Firing. Become a Certified Selenium Professional Now! Start with free practice test paper now!","breadcrumb":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/#primaryimage","url":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23.png","contentUrl":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2020\/12\/Certified-Selenium-Professional-23.png","width":750,"height":400},{"@type":"BreadcrumbList","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/event-firing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vskills.in\/certification\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Selenium Testing | Event Firing"}]},{"@type":"WebSite","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","name":"Tutorial","description":"Vskills - A initiative in elearning and certification","publisher":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization","name":"Vskills","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","contentUrl":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","width":73,"height":55,"caption":"Vskills"},"image":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/vskills.in\/","https:\/\/x.com\/vskills_in","https:\/\/www.linkedin.com\/company-beta\/1371554\/","https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw"]}]}},"_links":{"self":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/comments?post=847"}],"version-history":[{"count":14,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/847\/revisions"}],"predecessor-version":[{"id":93702,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/847\/revisions\/93702"}],"wp:attachment":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/media?parent=847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/categories?post=847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/tags?post=847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}