title
Selenium Tutorial | Selenium Automation Testing Tutorial | Intellipaat

description
🔥Intellipaat Selenium WebDriver Course: https://intellipaat.com/selenium-training/ In this selenium tutorial for beginners video you will learn what is selenium ide, what is software testing and its types, various automated testing tools, components of selenium, what is maven and why do we need it. In this selenium automation testing tutorial you will also learn how to create automated tests in selenium and how to work with annotations in TestNG in detail. There is a complete selenium project as well to master the concepts taught in this tutorial. #SeleniumTutorial #SeleniumTutorialforBeginners #Selenium #SeleniumAutomationTestingTutorial #Intellipaat 📌 Do subscribe to Intellipaat channel & get regular updates on videos: https://goo.gl/hhsGWb 🔗 Watch Selenium video tutorials here: https://bit.ly/2J40amE 📕 Read complete Selenium tutorial here: https://bit.ly/2o63a8A ⭐ Get Selenium cheat sheet here: https://bit.ly/2JX8rMa 📝This Selenium tutorial helps you to learn following topics: 00:00 - Selenium Tutorial 00:54 - Selenium Integerated Development Environment 03:57 - Selinium Remote Control 05:32 - Selinium Grid 07:25 - Selenium WebDriver Architechture 08:03 - WebDriver Architecture 09:05 - WebDriver Limitations 11:00 - Download and Install Selenium WebDrivers 11:45 - Java Environment Setup 12:05 - Establish Test Environment 23:20 - How to create packages 25:05 - How to download and configure the thirdparty BrowserDrives 25:34 - BrowserDrivers 32:00 - WebDriver Class Execution 43:24 - Web Elements 45:50 - Different kind of WebElements 48:20 - How to find the WebElements and its HTML code 54:43 - Element LOCATORS 01:19:20 - Firebug and Firepath 01:21:43 - Selenium web driver methods and HTML Tags 01:31:23 - Browser Navigation Methods 01:28:20 - Web Element methods 01:46:10 - Tag in HTML 01:56:10 - Xpath 02:07:20 - CSS Selector 02:08:41 - Methods used to identify elements uniquely 02:13:30 - ChroPath 02:16:30 - Checkbox 02:24:56 - Drop down Web Elements 02:39:15 - Radio Buttons 02:49:48 - Web Alerts 02:50:19 - Types of Alerts 03:02:17 - Xpath Axes 03:10:37 - What is meant by Actions Class 04:30:16 - About Java Robot 04:31:43 - Installation Process 04:32:00 - Advantages of Robot Class 04:32:20 - Disadvantages of Robot Class 04:33:40 - Methods of Robot Class 05:08:04 - Ecommerce Project Are you looking for something more? Enroll in our selenium course and become a certified selenium Professional (https://intellipaat.com/selenium-training/). It is a 45 hrs instructor led Selenium training provided by Intellipaat which is completely aligned with industry standards and certification bodies. If you’ve enjoyed this Selenium tutorial for beginners, Like us and Subscribe to our channel for more similar Selenium videos and free tutorials. Got any questions about Selenium training? Ask us in the comment section below. ---------------------------- Intellipaat Edge 1. 24*7 Life time Access & Support 2. Flexible Class Schedule 3. Job Assistance 4. Mentors with +14 yrs 5. Industry Oriented Course ware 6. Life time free Course Upgrade ------------------------------ Why should you watch this Selenium tutorial? Selenium is a powerful yet open source testing platform that is being used extensively by some of the largest corporations in the world. We are offering the top Selenium tutorial to gain knowledge in software testing. Our Selenium course has been created with extensive inputs from the industry experts so that you can learn Selenium and apply it for real world scenarios. Who should watch this Selenium video? If you want to learn Selenium to become a Selenium expert then this Intellipaat Selenium tutorial is for you. The Intellipaat Selenium training video is your first step to learn Selenium. Since this Selenium tutorial video can be taken by anybody, so if you are a Software Developers, Testers, QA Engineers, System Analysts, Administrators, BI and ETL professionals then you can also watch this Selenium tutorial and enroll for Intellipaat Selenium training to take your skills to the next level. Why Selenium is important? Selenium has some distinct advantages over others like an efficient way to generate test scripts, reusing the scripts, validating functionality and automating the test process and remote testing the software codes.Taking the Intellipaat Selenium training can help professionals to build a solid career in a rising technology domain and get the best jobs in top organizations. ------------------------------ For more Information: Please write us to sales@intellipaat.com, or call us at: +91- 7847955955 Website: https://intellipaat.com/selenium-training/ Facebook: https://www.facebook.com/intellipaatonline LinkedIn: https://www.linkedin.com/in/intellipaat/ Twitter: https://twitter.com/Intellipaat

detail
{'title': 'Selenium Tutorial | Selenium Automation Testing Tutorial | Intellipaat', 'heatmap': [{'end': 1593.983, 'start': 1185.728, 'weight': 0.79}, {'end': 2390.913, 'start': 1785.668, 'weight': 0.941}, {'end': 4588.905, 'start': 3583.05, 'weight': 0.729}, {'end': 4979.647, 'start': 4772.12, 'weight': 0.787}, {'end': 5975.767, 'start': 5769.713, 'weight': 0.875}, {'end': 7964.594, 'start': 7762.378, 'weight': 1}, {'end': 9567.019, 'start': 9353.467, 'weight': 0.708}, {'end': 10364.73, 'start': 10151.256, 'weight': 0.824}, {'end': 11158.087, 'start': 10948.818, 'weight': 0.719}], 'summary': 'This selenium tutorial provides in-depth training on selenium webdrivers, methods, html tags, web alerts, property file, data-driven testing, file uploads, and downloads. it also covers web element inspection, locators, xpath usage, and automating web element selection, radio button clicking, handling alerts, web automation techniques, java file reading basics, data reading from excel, java automation techniques, and test automation and framework implementation.', 'chapters': [{'end': 367.352, 'segs': [{'end': 116.091, 'src': 'embed', 'start': 86.158, 'weight': 0, 'content': [{'end': 99.317, 'text': 'So by adding this plug in this IDE to the browser, you can automate any application by providing the URL of that application under test.', 'start': 86.158, 'duration': 13.159}, {'end': 106.048, 'text': 'So you see here in this is the Selenium ID, the environment which ID looks like.', 'start': 100.287, 'duration': 5.761}, {'end': 111.85, 'text': 'Here you see a base URL where you need to provide the URL of an application under test.', 'start': 106.328, 'duration': 5.522}, {'end': 116.091, 'text': 'And here in the center you see a commands target and the value.', 'start': 112.79, 'duration': 3.301}], 'summary': 'Automate applications by adding plug-in to ide, providing application url for testing, and using selenium id environment.', 'duration': 29.933, 'max_score': 86.158, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE86158.jpg'}, {'end': 276.538, 'src': 'embed', 'start': 174.967, 'weight': 2, 'content': [{'end': 182.755, 'text': 'Any operation done on this browser will be tracked automatically by this, identified by this Selenium ID.', 'start': 174.967, 'duration': 7.788}, {'end': 194.689, 'text': 'Another point you can notice, the recorded script by the IDE can be viewed in other languages.', 'start': 184.466, 'duration': 10.223}, {'end': 202.212, 'text': 'Means the recorded script can be transformed into Java, .NET, Python, Ruby.', 'start': 195.33, 'duration': 6.882}, {'end': 207.184, 'text': 'Okay, and then use it further for automation.', 'start': 204.062, 'duration': 3.122}, {'end': 219.734, 'text': "But that we don't recommend to you to do because editing the recorded script will be a more homework as compared to writing the script directly.", 'start': 207.705, 'duration': 12.029}, {'end': 226.479, 'text': "So that's the reason we usually don't take the recorded script as our automation script.", 'start': 220.454, 'duration': 6.025}, {'end': 229.781, 'text': 'We mostly try to write the script directly.', 'start': 226.879, 'duration': 2.902}, {'end': 235.857, 'text': 'So this is all about the Selenium IDE.', 'start': 231.954, 'duration': 3.903}, {'end': 247.485, 'text': 'So remote control is nothing but we need to start the server to communicate with the application.', 'start': 236.578, 'duration': 10.907}, {'end': 251.748, 'text': 'Means explicitly we need to start the server.', 'start': 248.546, 'duration': 3.202}, {'end': 267.929, 'text': 'Then this server starts the selenium jar files where the written script sent to the selenium rc server will interact with the actual application.', 'start': 253.874, 'duration': 14.055}, {'end': 276.538, 'text': 'So here the code will not have any direct interaction with the application.', 'start': 269.43, 'duration': 7.108}], 'summary': 'Selenium ide tracks browser operations, recorded scripts can be translated into various languages, but editing them is not recommended for automation.', 'duration': 101.571, 'max_score': 174.967, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE174967.jpg'}, {'end': 330.88, 'src': 'embed', 'start': 301.278, 'weight': 1, 'content': [{'end': 302.658, 'text': "So now let's continue with the session.", 'start': 301.278, 'duration': 1.38}, {'end': 307.621, 'text': 'So that is been overcome with the Selenium WebDriver.', 'start': 302.899, 'duration': 4.722}, {'end': 321.958, 'text': 'So this is all about Selenium RC and also Selenium RC has its own set of methods and which are quite different from the Selenium WebDriver methods.', 'start': 309.195, 'duration': 12.763}, {'end': 330.88, 'text': 'And Selenium WebDriver has some more advanced add-on methods which have been implemented in the WebDriver.', 'start': 323.398, 'duration': 7.482}], 'summary': 'Selenium rc and webdriver differ in methods and features.', 'duration': 29.602, 'max_score': 301.278, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE301278.jpg'}], 'start': 3.291, 'title': 'Selenium testing and automation', 'summary': "Provides an in-depth tutorial on selenium, covering selenium webdrivers, methods, html tags, web alerts, property file, data-driven testing, and file uploads and downloads. it also introduces selenium ide, highlighting its usage and limitations and promotes intellipaat's selenium training certification course.", 'chapters': [{'end': 49.967, 'start': 3.291, 'title': 'Selenium tutorial: automation testing skills', 'summary': "Covers the in-depth tutorial on selenium, including the architecture of selenium webdrivers, methods, html tags, web alerts, property file, data-driven testing, and file uploads and downloads, with a call-to-action for intellipaat's selenium training certification course.", 'duration': 46.676, 'highlights': ['Selenium WebDrivers architecture, methods, and HTML tags are covered in this tutorial.', 'The tutorial also includes web alerts, property file, data-driven testing, and file uploads and downloads.', "Intellipaat's Selenium training certification course is recommended for those seeking an end-to-end certification on Selenium."]}, {'end': 367.352, 'start': 50.367, 'title': 'Selenium ide and remote control overview', 'summary': 'Introduces selenium ide, a plugin available for firefox and chrome, used for recording and running test cases, and highlights the limitations of selenium rc and the benefits of selenium webdriver and grid.', 'duration': 316.985, 'highlights': ['Selenium IDE is a plugin available for Firefox and Chrome, used for recording and running test cases. The Selenium IDE is a plugin that can be added to only two browsers, Firefox and Chrome, and is used for recording and running test cases.', 'Selenium IDE tracks each action done on the Firefox or Chrome browser automatically. The Selenium IDE tracks each and every action done on Firefox or Chrome browser automatically.', 'Assertions can be done in Selenium IDE to validate the application, such as validating the title, image, or text. Selenium IDE allows for assertions to validate the application, including the title, image, or text.', 'Recorded scripts in Selenium IDE can be transformed into Java, .NET, Python, or Ruby, but it is not recommended for automation due to the complexity of editing recorded scripts. Recorded scripts in Selenium IDE can be transformed into Java, .NET, Python, or Ruby, but it is not recommended for automation due to the complexity of editing recorded scripts.', 'Selenium RC requires starting a server to communicate with the application, while Selenium WebDriver overcomes this limitation. Selenium RC requires starting a server to communicate with the application, while Selenium WebDriver overcomes this limitation.', 'Selenium Grid is based on a hub and node architecture, where the hub acts as a master/server and nodes act as followers/clients. Selenium Grid is based on a hub and node architecture, where the hub acts as a master/server and nodes act as followers/clients.']}], 'duration': 364.061, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE3291.jpg', 'highlights': ["Intellipaat's Selenium training certification course is recommended for those seeking an end-to-end certification on Selenium.", 'Selenium WebDrivers architecture, methods, and HTML tags are covered in this tutorial.', 'The tutorial also includes web alerts, property file, data-driven testing, and file uploads and downloads.', 'Selenium IDE is a plugin available for Firefox and Chrome, used for recording and running test cases.', 'Selenium IDE tracks each action done on the Firefox or Chrome browser automatically.', 'Assertions can be done in Selenium IDE to validate the application, such as validating the title, image, or text.', 'Selenium Grid is based on a hub and node architecture, where the hub acts as a master/server and nodes act as followers/clients.', 'Selenium RC requires starting a server to communicate with the application, while Selenium WebDriver overcomes this limitation.', 'Recorded scripts in Selenium IDE can be transformed into Java, .NET, Python, or Ruby, but it is not recommended for automation due to the complexity of editing recorded scripts.']}, {'end': 1482.935, 'segs': [{'end': 690.125, 'src': 'embed', 'start': 658.718, 'weight': 3, 'content': [{'end': 666.703, 'text': 'How to download the WebDriver and configuring the Java and Eclipse with the WebDriver jar files.', 'start': 658.718, 'duration': 7.985}, {'end': 670.566, 'text': "So let's start with the first point.", 'start': 668.204, 'duration': 2.362}, {'end': 675.529, 'text': 'What are the prerequisite to download or configure the WebDriver?', 'start': 671.326, 'duration': 4.203}, {'end': 690.125, 'text': 'So first, initially, we need to know, we need to consider that Eclipse is already installed and before eclipse, java is already on our machine.', 'start': 677.05, 'duration': 13.075}], 'summary': 'Download webdriver, configure java and eclipse with webdriver jar files', 'duration': 31.407, 'max_score': 658.718, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE658718.jpg'}, {'end': 1351.825, 'src': 'embed', 'start': 1327.195, 'weight': 1, 'content': [{'end': 1337.319, 'text': 'okay, now, as our jar files are present on local on my machine, I have to select add external jars.', 'start': 1327.195, 'duration': 10.124}, {'end': 1341.321, 'text': 'if they are in your eclipse, you can say add a jars.', 'start': 1337.319, 'duration': 4.002}, {'end': 1344.022, 'text': 'getting if in your project, if they are there.', 'start': 1341.321, 'duration': 2.701}, {'end': 1345.682, 'text': 'if it, you can say add jars.', 'start': 1344.022, 'duration': 1.66}, {'end': 1350.044, 'text': 'if they are in your eclipse, you can say add libraries.', 'start': 1345.682, 'duration': 4.362}, {'end': 1351.825, 'text': "we'll see them these options later.", 'start': 1350.044, 'duration': 1.781}], 'summary': 'Adding jar files to eclipse for project setup.', 'duration': 24.63, 'max_score': 1327.195, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE1327195.jpg'}, {'end': 1417.971, 'src': 'embed', 'start': 1387.19, 'weight': 0, 'content': [{'end': 1389.091, 'text': 'These are the jar files of your web driver.', 'start': 1387.19, 'duration': 1.901}, {'end': 1394.455, 'text': 'So any jars if you want to add to your project this is the same process.', 'start': 1389.792, 'duration': 4.663}, {'end': 1395.356, 'text': 'This is the one process.', 'start': 1394.475, 'duration': 0.881}, {'end': 1402.221, 'text': 'Okay Now how to create a project and a packages.', 'start': 1396.997, 'duration': 5.224}, {'end': 1403.662, 'text': 'Project we have already created.', 'start': 1402.261, 'duration': 1.401}, {'end': 1408.946, 'text': 'Packages As we know a project can have many packages.', 'start': 1403.742, 'duration': 5.204}, {'end': 1411.848, 'text': 'How to packages will be in the source folder.', 'start': 1409.226, 'duration': 2.622}, {'end': 1417.971, 'text': 'right click on the source new package.', 'start': 1413.007, 'duration': 4.964}], 'summary': 'Instructions for adding jar files and creating project packages.', 'duration': 30.781, 'max_score': 1387.19, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE1387190.jpg'}], 'start': 368.232, 'title': 'Selenium webdriver setup and architecture', 'summary': 'Covers selenium webdriver architecture, discussing grid architecture, parallel execution, language and browser support, advantages, and limitations. it also includes setting up selenium webdriver with java, covering prerequisite setup, file downloading, and jar file extraction. additionally, it explains setting up eclipse for a java project, covering project configuration, adding external jar files, and creating packages and classes.', 'chapters': [{'end': 658.458, 'start': 368.232, 'title': 'Selenium webdriver architecture', 'summary': 'Discusses the grid architecture of selenium webdriver, enabling parallel execution and support for multiple languages and browsers. it also highlights the advantages and limitations of selenium webdriver.', 'duration': 290.226, 'highlights': ['Selenium WebDriver supports parallel execution through a grid environment, allowing scripts to be tested in different environments and distributed across different machines for faster execution.', 'Selenium WebDriver API supports multiple language bindings including Java, C sharp, .NET, PHP, Ruby, and Python, allowing scripts in different languages to be executed on respective browsers.', 'The limitations of Selenium WebDriver include lack of support for newly launched browsers, inability to automate Windows applications by default, and absence of built-in report generation, which can be addressed by adding TestNG for report generation.']}, {'end': 1118.31, 'start': 658.718, 'title': 'Setting up selenium webdriver with java', 'summary': 'Discusses the process of downloading and configuring the selenium webdriver with java, including prerequisite setup, downloading the required files, and extracting the jar files, ensuring a complete project setup for seamless execution.', 'duration': 459.592, 'highlights': ['The process begins with ensuring that Java and Eclipse are installed on the machine, followed by configuring the Java environment path and installing Eclipse. The initial setup requires Java and Eclipse to be installed on the machine, with the configuration of the Java environment path and subsequent installation of Eclipse.', 'Guidance is provided on downloading the required Java software from the Oracle Corporation site and verifying the installation of Java on the machine. Instructions are given for downloading the necessary Java software from the Oracle website and verifying its installation on the machine.', 'The process of obtaining the WebDriver jar files involves visiting the Selenium website, selecting the Java language bindings, and downloading the available version, currently 3.141.59. The steps for obtaining the WebDriver jar files include visiting the Selenium website, choosing the Java language bindings, and downloading the available version, which is currently 3.141.59.', 'Upon downloading the WebDriver jar files, the process of extracting the files, organizing them into separate folders, and adding them to the project is explained to ensure a complete setup without errors during execution. The explanation covers the steps for extracting the downloaded files, organizing them into separate folders, and adding them to the project to ensure a comprehensive setup without errors during execution.']}, {'end': 1482.935, 'start': 1119.09, 'title': 'Setting up eclipse for java project', 'summary': 'Explains how to set up eclipse for a java project, including adding and configuring projects, adding external jar files, and creating packages and classes.', 'duration': 363.845, 'highlights': ["How to add external JAR files to a project in Eclipse The process of adding WebDriver JAR files to a project involves selecting the project, right-clicking to access properties, navigating to the Java build path, selecting the libraries tab, and using the 'add external jars' option to import the required JAR files.", "Creating a new project in Eclipse and selecting Java version The process of creating a new Java project in Eclipse involves accessing the file menu, selecting 'new' and then 'java project', giving the project a meaningful name, and finishing the project creation process with the default Java version 8.", "Creating packages and classes within a project in Eclipse The chapter explains how to create packages and classes within a project in Eclipse, involving right-clicking on the source folder, selecting 'new package', creating a new package with a meaningful name, and creating classes within the package."]}], 'duration': 1114.703, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE368232.jpg', 'highlights': ['Selenium WebDriver supports parallel execution through a grid environment, allowing scripts to be tested in different environments and distributed across different machines for faster execution.', 'The limitations of Selenium WebDriver include lack of support for newly launched browsers, inability to automate Windows applications by default, and absence of built-in report generation, which can be addressed by adding TestNG for report generation.', 'The process of obtaining the WebDriver jar files involves visiting the Selenium website, selecting the Java language bindings, and downloading the available version, currently 3.141.59.', 'Upon downloading the WebDriver jar files, the process of extracting the files, organizing them into separate folders, and adding them to the project is explained to ensure a complete setup without errors during execution.', "How to add external JAR files to a project in Eclipse The process of adding WebDriver JAR files to a project involves selecting the project, right-clicking to access properties, navigating to the Java build path, selecting the libraries tab, and using the 'add external jars' option to import the required JAR files.", "Creating a new project in Eclipse and selecting Java version The process of creating a new Java project in Eclipse involves accessing the file menu, selecting 'new' and then 'java project', giving the project a meaningful name, and finishing the project creation process with the default Java version 8.", "Creating packages and classes within a project in Eclipse The chapter explains how to create packages and classes within a project in Eclipse, involving right-clicking on the source folder, selecting 'new package', creating a new package with a meaningful name, and creating classes within the package."]}, {'end': 2530.138, 'segs': [{'end': 1759.284, 'src': 'embed', 'start': 1700.21, 'weight': 3, 'content': [{'end': 1707.336, 'text': 'now, based on the operating system available of firefox on your machine, you can download this gecko drivers.', 'start': 1700.21, 'duration': 7.126}, {'end': 1707.876, 'text': "it's against.", 'start': 1707.336, 'duration': 0.54}, {'end': 1712.032, 'text': "if i'll just click over it, it would download Okay.", 'start': 1707.876, 'duration': 4.156}, {'end': 1715.654, 'text': 'The same manner you can go for IE browsers as well.', 'start': 1712.392, 'duration': 3.262}, {'end': 1718.556, 'text': "I'm just going to the Selenium site back.", 'start': 1716.515, 'duration': 2.041}, {'end': 1721.157, 'text': 'Right We are in the downloads.', 'start': 1719.757, 'duration': 1.4}, {'end': 1723.619, 'text': 'You just scroll down.', 'start': 1722.618, 'duration': 1.001}, {'end': 1726.761, 'text': 'There you have a third party language bindings.', 'start': 1724.119, 'duration': 2.642}, {'end': 1733.184, 'text': 'Here you have the Microsoft Edge.', 'start': 1727.461, 'duration': 5.723}, {'end': 1739.348, 'text': 'So from here you can download the IE browser as well.', 'start': 1735.185, 'duration': 4.163}, {'end': 1744.376, 'text': 'So in this manner, you can get your required browsers.', 'start': 1740.834, 'duration': 3.542}, {'end': 1746.037, 'text': 'Okay, not sorry from there.', 'start': 1744.556, 'duration': 1.481}, {'end': 1750.639, 'text': 'It is an edge, right? So here you have Internet Explorer driver server.', 'start': 1746.057, 'duration': 4.582}, {'end': 1756.622, 'text': 'The IE is available for 32 Windows IE, 32-bit as well as 64-bit.', 'start': 1751.38, 'duration': 5.242}, {'end': 1759.284, 'text': 'Now you can download from here.', 'start': 1757.503, 'duration': 1.781}], 'summary': 'Download gecko drivers for firefox and ie browsers from selenium site, including ie 32-bit and 64-bit options.', 'duration': 59.074, 'max_score': 1700.21, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE1700210.jpg'}, {'end': 2390.913, 'src': 'heatmap', 'start': 1785.668, 'weight': 0.941, 'content': [{'end': 1795.614, 'text': 'Extract files to another folder, right? As we earlier created a folder on the desktop.', 'start': 1785.668, 'duration': 9.946}, {'end': 1812.454, 'text': "Here, inside WebDriver, Selenium downloads, I'll create one more folder named Drivers, where all the required drivers will be saved into this.", 'start': 1803.427, 'duration': 9.027}, {'end': 1827.485, 'text': "Let's get it extracted.", 'start': 1814.655, 'duration': 12.83}, {'end': 1830.446, 'text': 'and back here.', 'start': 1828.684, 'duration': 1.762}, {'end': 1832.408, 'text': 'this is your drivers folder.', 'start': 1830.446, 'duration': 1.962}, {'end': 1835.511, 'text': 'this is your chrome driver dot exe.', 'start': 1832.408, 'duration': 3.103}, {'end': 1843.3, 'text': 'the same way you can get ie exe file five, gecko driver exe file, all the required drivers.', 'start': 1835.511, 'duration': 7.789}, {'end': 1852.562, 'text': 'okay, so i have these drivers already extracted in a folder on my downloads.', 'start': 1843.3, 'duration': 9.262}, {'end': 1856.045, 'text': "here I've created on folder drivers.", 'start': 1852.562, 'duration': 3.483}, {'end': 1862.07, 'text': 'these are the drivers ie driver, gecko driver and chrome driver.', 'start': 1856.045, 'duration': 6.025}, {'end': 1867.474, 'text': "so this exe file location I need to select when I'm launching the browser.", 'start': 1862.07, 'duration': 5.404}, {'end': 1868.354, 'text': 'this is my c drive.', 'start': 1867.474, 'duration': 0.88}, {'end': 1870.756, 'text': 'this is the location.', 'start': 1868.354, 'duration': 2.402}, {'end': 1872.558, 'text': 'so we created a project demo.', 'start': 1870.756, 'duration': 1.802}, {'end': 1876.638, 'text': 'This is the source where we are creating a package inside this.', 'start': 1873.837, 'duration': 2.801}, {'end': 1879.158, 'text': "That's the package name be.", 'start': 1877.678, 'duration': 1.48}, {'end': 1885.039, 'text': "It's a starting of web driver, right? I say web driver basic.", 'start': 1879.758, 'duration': 5.281}, {'end': 1894.321, 'text': "So inside that we're going to create a normal Java class with the main method.", 'start': 1889.54, 'duration': 4.781}, {'end': 1896.741, 'text': "So our class name let's be launch.", 'start': 1894.981, 'duration': 1.76}, {'end': 1901.822, 'text': 'With public static void main.', 'start': 1900.262, 'duration': 1.56}, {'end': 1910.239, 'text': 'So here we are understanding how to launch with the help of a script a particular browser.', 'start': 1903.393, 'duration': 6.846}, {'end': 1925.411, 'text': 'So inside main method we need to write the statement how to create a selenium class, an executable class where we would be launching an application.', 'start': 1911.039, 'duration': 14.372}, {'end': 1932.51, 'text': 'So as we have already downloaded the selenium jar files and the required 3rd party driver exe files.', 'start': 1925.551, 'duration': 6.959}, {'end': 1939.024, 'text': 'Now we need to write a small script where how the script would interact with the browser.', 'start': 1933.191, 'duration': 5.833}, {'end': 1946.589, 'text': 'So for launching of the browser, we need to create an object for web driver.', 'start': 1941.107, 'duration': 5.482}, {'end': 1951.55, 'text': "So here you see it's a web driver is a class and driver is an object.", 'start': 1947.089, 'duration': 4.461}, {'end': 1958.153, 'text': "And you're going to create an object of using a constructor or a class that's a Firefox driver.", 'start': 1952.131, 'duration': 6.022}, {'end': 1965.095, 'text': 'Means this object driver, the object will be referring to the Firefox browser.', 'start': 1958.233, 'duration': 6.862}, {'end': 1968.696, 'text': 'And this driver is of type web driver.', 'start': 1966.015, 'duration': 2.681}, {'end': 1975.519, 'text': 'Now, once after creating an object, you need to launch an URL.', 'start': 1970.458, 'duration': 5.061}, {'end': 1985.382, 'text': 'So to launch an URL, you need to use a method, get method, which is of class, which is from class web driver.', 'start': 1976.02, 'duration': 9.362}, {'end': 1998.931, 'text': 'Okay, So this is how you need to create an object and use the method get, but before creating an object, you need to set the exe file.', 'start': 1987.203, 'duration': 11.728}, {'end': 2005.294, 'text': 'you need to set the system pointing to the location of the downloaded exe file of a browser.', 'start': 1998.931, 'duration': 6.363}, {'end': 2016.46, 'text': 'So you can do that by using system.set property the key and a value has to be provided.', 'start': 2006.995, 'duration': 9.465}, {'end': 2024.905, 'text': 'So the key represents which browser you are going to launch and the path the location of the required browser exe file.', 'start': 2017.341, 'duration': 7.564}, {'end': 2028.252, 'text': 'And here system is a built-in class.', 'start': 2026.391, 'duration': 1.861}, {'end': 2036.196, 'text': 'Set property is a method which is helpful for setting the path of the required browser.', 'start': 2029.273, 'duration': 6.923}, {'end': 2045.401, 'text': "Earlier in Selenium WebDriver, maybe 2.2.x versions don't need the system.set property.", 'start': 2037.717, 'duration': 7.684}, {'end': 2054.786, 'text': 'But the recent Selenium drivers versions from 3.x onwards, we need the statement of system.set property.', 'start': 2046.001, 'duration': 8.785}, {'end': 2065.882, 'text': 'Okay, so for example you see here the system.set property, the chrome driver and the location d drive and the chrome driver.exe.', 'start': 2056.333, 'duration': 9.549}, {'end': 2073.069, 'text': 'Once the system set property is done then we create an object and launch the application.', 'start': 2066.603, 'duration': 6.466}, {'end': 2083.378, 'text': "The same manner you can set the path for gecko driver that's a Firefox launching and create an object for the Firefox driver.", 'start': 2074.489, 'duration': 8.889}, {'end': 2088.799, 'text': 'Similarly for launching the IE driver as well.', 'start': 2085.675, 'duration': 3.124}, {'end': 2093.445, 'text': 'You need to just change the key, the path and the object reference.', 'start': 2088.819, 'duration': 4.626}, {'end': 2097.049, 'text': 'Here you have the class that is Internet Explorer driver.', 'start': 2093.965, 'duration': 3.084}, {'end': 2105.119, 'text': 'So this way you can launch any type of browser by creating an object of that type.', 'start': 2098.531, 'duration': 6.588}, {'end': 2110.299, 'text': 'Apart from that you have two more methods close and quit.', 'start': 2106.678, 'duration': 3.621}, {'end': 2116.741, 'text': 'Close will close the parent window and quit will close both the child and the parent window.', 'start': 2110.999, 'duration': 5.742}, {'end': 2120.122, 'text': 'This will see with examples how to work on it.', 'start': 2117.882, 'duration': 2.24}, {'end': 2124.724, 'text': 'So this is all about this session creating a small script.', 'start': 2121.223, 'duration': 3.501}, {'end': 2131.706, 'text': "So let's move to the practical how to work and launch the required browser.", 'start': 2125.084, 'duration': 6.622}, {'end': 2140.82, 'text': 'So going to the Eclipse, as earlier we created a package WebDriver in that a small launch.java class.', 'start': 2133.055, 'duration': 7.765}, {'end': 2146.203, 'text': 'And here we need to write the first statement system.setProperty.', 'start': 2142.28, 'duration': 3.923}, {'end': 2152.546, 'text': 'So as Java is case sensitive, S should be capital system class system.setProperty.', 'start': 2146.763, 'duration': 5.783}, {'end': 2174.795, 'text': 'set property, we are having two parameters key and a string value.', 'start': 2166.872, 'duration': 7.923}, {'end': 2185.961, 'text': 'The key is nothing, but as we are going to launch Chrome within double quotes, webdriver.chrome.driver.', 'start': 2175.973, 'duration': 9.988}, {'end': 2194.488, 'text': 'This is the key and the value you need to get the path of the Chrome as we have already picked the path.', 'start': 2186.582, 'duration': 7.906}, {'end': 2197.451, 'text': 'This is where the Chrome driver exe is available.', 'start': 2195.209, 'duration': 2.242}, {'end': 2204.917, 'text': "I'm copying this path and taking the file name.", 'start': 2197.751, 'duration': 7.166}, {'end': 2211.281, 'text': 'The file name is chromedriver.exe.', 'start': 2208.7, 'duration': 2.581}, {'end': 2215.222, 'text': 'chromedriver.exe You can also get it with the properties.', 'start': 2211.781, 'duration': 3.441}, {'end': 2222.525, 'text': 'You have to give the extension as well, .exe.', 'start': 2219.204, 'duration': 3.321}, {'end': 2225.787, 'text': 'Double quotations close.', 'start': 2224.526, 'duration': 1.261}, {'end': 2229.848, 'text': 'And every line has to be ended with a semicolon at the end.', 'start': 2226.467, 'duration': 3.381}, {'end': 2237.231, 'text': 'Now Java understands that we make it into double slashes the path.', 'start': 2231.389, 'duration': 5.842}, {'end': 2246.937, 'text': 'is the path right now, once after setting the path is done.', 'start': 2241.013, 'duration': 5.924}, {'end': 2252.081, 'text': 'next is creating an object for that webdriver class.', 'start': 2246.937, 'duration': 5.144}, {'end': 2255.763, 'text': 'so as we know, the class is webdriver.', 'start': 2252.081, 'duration': 3.682}, {'end': 2260.206, 'text': "it's w and d are capital.", 'start': 2255.763, 'duration': 4.443}, {'end': 2269.273, 'text': 'the. you can take any object name, but as by maintaining the standards, we take driver as the object new chrome driver,', 'start': 2260.206, 'duration': 9.067}, {'end': 2281.832, 'text': 'You need to get the required imports.', 'start': 2280.131, 'duration': 1.701}, {'end': 2287.235, 'text': 'Now these imports, when you just make a mouse over on that line, red line, you get the import.', 'start': 2282.292, 'duration': 4.943}, {'end': 2291.637, 'text': 'Import WebDriver from AuraOpenQA.selenium.', 'start': 2287.315, 'duration': 4.322}, {'end': 2299.421, 'text': 'So why are you getting this import? As we have added already the jar files to the project, so we are getting this import.', 'start': 2292.358, 'duration': 7.063}, {'end': 2301.623, 'text': "Otherwise, you won't get the import.", 'start': 2300.102, 'duration': 1.521}, {'end': 2303.523, 'text': 'Double click.', 'start': 2302.943, 'duration': 0.58}, {'end': 2305.224, 'text': 'So the import is happening over here.', 'start': 2303.744, 'duration': 1.48}, {'end': 2310.207, 'text': 'Similarly import chrome driver from open selenium.chrome.', 'start': 2305.985, 'duration': 4.222}, {'end': 2319.791, 'text': 'Now here our driver object is ready which is referring to the chrome driver and this driver object is of type webdriver class.', 'start': 2311.987, 'duration': 7.804}, {'end': 2327.605, 'text': 'now we can do the actions like after launching the browser, you need to open an url.', 'start': 2321.044, 'duration': 6.561}, {'end': 2329.886, 'text': 'so object name dot.', 'start': 2327.605, 'duration': 2.281}, {'end': 2330.266, 'text': 'you have.', 'start': 2329.886, 'duration': 0.38}, {'end': 2339.068, 'text': 'these all are the methods, some of the methods belonging to type webdriver, for example, find element close.', 'start': 2330.266, 'duration': 8.802}, {'end': 2341.808, 'text': 'say at the end what you see, the in the faint.', 'start': 2339.068, 'duration': 2.74}, {'end': 2343.328, 'text': "that's a class name.", 'start': 2341.808, 'duration': 1.52}, {'end': 2345.269, 'text': 'this method is belonging to that class.', 'start': 2343.328, 'duration': 1.941}, {'end': 2348.85, 'text': 'The method name, any input.', 'start': 2346.369, 'duration': 2.481}, {'end': 2351.131, 'text': 'the return type of the method is a web element.', 'start': 2348.85, 'duration': 2.281}, {'end': 2361.296, 'text': 'Similarly, get is a method, input string, void output and this get can be used with object of type web driver.', 'start': 2352.932, 'duration': 8.364}, {'end': 2370.4, 'text': 'Current URLs, get, page, source code, title, these all are the methods used with, can be used with web driver object.', 'start': 2362.376, 'duration': 8.024}, {'end': 2379.307, 'text': 'As right now we want to open the URL so we use a get method and here you need to provide the string.', 'start': 2372.423, 'duration': 6.884}, {'end': 2390.913, 'text': 'As I want to launch this URL, take this URL and www.selenumhq.org download.', 'start': 2380.147, 'duration': 10.766}], 'summary': 'Creating a small script to launch different browsers using selenium webdriver and setting up the required drivers and paths.', 'duration': 605.245, 'max_score': 1785.668, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE1785668.jpg'}, {'end': 1870.756, 'src': 'embed', 'start': 1835.511, 'weight': 4, 'content': [{'end': 1843.3, 'text': 'the same way you can get ie exe file five, gecko driver exe file, all the required drivers.', 'start': 1835.511, 'duration': 7.789}, {'end': 1852.562, 'text': 'okay, so i have these drivers already extracted in a folder on my downloads.', 'start': 1843.3, 'duration': 9.262}, {'end': 1856.045, 'text': "here I've created on folder drivers.", 'start': 1852.562, 'duration': 3.483}, {'end': 1862.07, 'text': 'these are the drivers ie driver, gecko driver and chrome driver.', 'start': 1856.045, 'duration': 6.025}, {'end': 1867.474, 'text': "so this exe file location I need to select when I'm launching the browser.", 'start': 1862.07, 'duration': 5.404}, {'end': 1868.354, 'text': 'this is my c drive.', 'start': 1867.474, 'duration': 0.88}, {'end': 1870.756, 'text': 'this is the location.', 'start': 1868.354, 'duration': 2.402}], 'summary': 'Extracted ie, gecko, and chrome drivers in a folder on c drive.', 'duration': 35.245, 'max_score': 1835.511, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE1835511.jpg'}, {'end': 2291.637, 'src': 'embed', 'start': 2252.081, 'weight': 0, 'content': [{'end': 2255.763, 'text': 'so as we know, the class is webdriver.', 'start': 2252.081, 'duration': 3.682}, {'end': 2260.206, 'text': "it's w and d are capital.", 'start': 2255.763, 'duration': 4.443}, {'end': 2269.273, 'text': 'the. you can take any object name, but as by maintaining the standards, we take driver as the object new chrome driver,', 'start': 2260.206, 'duration': 9.067}, {'end': 2281.832, 'text': 'You need to get the required imports.', 'start': 2280.131, 'duration': 1.701}, {'end': 2287.235, 'text': 'Now these imports, when you just make a mouse over on that line, red line, you get the import.', 'start': 2282.292, 'duration': 4.943}, {'end': 2291.637, 'text': 'Import WebDriver from AuraOpenQA.selenium.', 'start': 2287.315, 'duration': 4.322}], 'summary': 'Using webdriver class to interact with web elements, import from auraopenqa.selenium.', 'duration': 39.556, 'max_score': 2252.081, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE2252081.jpg'}], 'start': 1482.935, 'title': 'Selenium webdriver setup', 'summary': 'Covers downloading and configuring selenium browser drivers for chrome, firefox, and ie, launching different browsers using selenium webdriver, and setting up webdriver in eclipse, emphasizing the setup process and browser launching steps.', 'chapters': [{'end': 1870.756, 'start': 1482.935, 'title': 'Selenium automation: downloading and configuring browser drivers', 'summary': 'Covers the process of downloading and configuring selenium browser drivers for chrome, firefox, and ie, including the steps to download, extract, and save the drivers for automation.', 'duration': 387.821, 'highlights': ['The process includes downloading Chrome, Gecko, and IE drivers, extracting the zip files, and saving the drivers in a designated folder on the system, essential for launching a particular application on the respective browsers.', 'The chapter emphasizes the need to download exe files for different browsers, such as Chrome, Firefox, and IE, and provides step-by-step instructions for downloading and extracting the driver files, ensuring the drivers are readily available for automation.', 'The chapter details the specific locations and steps for extracting and saving the downloaded driver files, highlighting the importance of selecting the correct file location when launching the browser for automation.']}, {'end': 2131.706, 'start': 1870.756, 'title': 'Launching browsers with selenium webdriver', 'summary': 'Covers the process of launching different browsers using selenium webdriver, including setting up the system properties and creating objects for firefox, chrome, and internet explorer drivers.', 'duration': 260.95, 'highlights': ['The process involves setting up the system properties for different browsers, such as Chrome and Firefox, using the system.set property method, which is necessary for recent Selenium driver versions from 3.x onwards.', 'The chapter explains the creation of objects for different browsers, including Firefox, Chrome, and Internet Explorer drivers, and the usage of methods like close and quit for managing windows.', 'The transcript provides insights into creating a small script to launch browsers using Selenium WebDriver, emphasizing the importance of setting the system properties and creating browser objects for automated testing.', 'The session emphasizes the practical application of launching browsers using Selenium WebDriver, providing a hands-on approach to working with different browsers and understanding the interaction between scripts and browsers.']}, {'end': 2530.138, 'start': 2133.055, 'title': 'Setting up webdriver in eclipse', 'summary': 'Explains the process of setting up webdriver in eclipse, including setting system properties and importing necessary classes, with emphasis on launching chrome and firefox browsers, and opening a specific url.', 'duration': 397.083, 'highlights': ['The chapter explains the process of setting up WebDriver in Eclipse, including setting system properties and importing necessary classes, with emphasis on launching Chrome and Firefox browsers, and opening a specific URL. This is the main summary of the entire transcript, providing an overview of the key points and the quantifiable data, such as the process of setting up WebDriver, setting system properties, importing necessary classes, and launching specific browsers.', "The key is webdriver.chrome.driver and the value is the path of the Chrome driver, which is 'chromedriver.exe'. Details the specific key-value pair for setting the path of the Chrome driver, 'webdriver.chrome.driver' being the key and 'chromedriver.exe' being the value, providing clear quantifiable data.", 'Importing necessary classes such as WebDriver from AuraOpenQA.selenium and ChromeDriver from open.selenium.chrome is important to enable the use of WebDriver and ChromeDriver functionalities. Emphasizes the importance of importing necessary classes to enable the use of WebDriver and ChromeDriver functionalities, with quantifiable data of the specific classes being imported.']}], 'duration': 1047.203, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE1482935.jpg', 'highlights': ['The chapter emphasizes the need to download exe files for different browsers, such as Chrome, Firefox, and IE, and provides step-by-step instructions for downloading and extracting the driver files, ensuring the drivers are readily available for automation.', 'The process includes downloading Chrome, Gecko, and IE drivers, extracting the zip files, and saving the drivers in a designated folder on the system, essential for launching a particular application on the respective browsers.', 'The chapter details the specific locations and steps for extracting and saving the downloaded driver files, highlighting the importance of selecting the correct file location when launching the browser for automation.', 'The process involves setting up the system properties for different browsers, such as Chrome and Firefox, using the system.set property method, which is necessary for recent Selenium driver versions from 3.x onwards.', 'The chapter explains the creation of objects for different browsers, including Firefox, Chrome, and Internet Explorer drivers, and the usage of methods like close and quit for managing windows.', 'The transcript provides insights into creating a small script to launch browsers using Selenium WebDriver, emphasizing the importance of setting the system properties and creating browser objects for automated testing.', 'The session emphasizes the practical application of launching browsers using Selenium WebDriver, providing a hands-on approach to working with different browsers and understanding the interaction between scripts and browsers.', 'The chapter explains the process of setting up WebDriver in Eclipse, including setting system properties and importing necessary classes, with emphasis on launching Chrome and Firefox browsers, and opening a specific URL. This is the main summary of the entire transcript, providing an overview of the key points and the quantifiable data, such as the process of setting up WebDriver, setting system properties, importing necessary classes, and launching specific browsers.', "The key is webdriver.chrome.driver and the value is the path of the Chrome driver, which is 'chromedriver.exe'. Details the specific key-value pair for setting the path of the Chrome driver, 'webdriver.chrome.driver' being the key and 'chromedriver.exe' being the value, providing clear quantifiable data.", 'Importing necessary classes such as WebDriver from AuraOpenQA.selenium and ChromeDriver from open.selenium.chrome is important to enable the use of WebDriver and ChromeDriver functionalities. Emphasizes the importance of importing necessary classes to enable the use of WebDriver and ChromeDriver functionalities, with quantifiable data of the specific classes being imported.']}, {'end': 3801.369, 'segs': [{'end': 2613.112, 'src': 'embed', 'start': 2530.478, 'weight': 6, 'content': [{'end': 2531.379, 'text': 'It should be capital.', 'start': 2530.478, 'duration': 0.901}, {'end': 2535.742, 'text': 'And import it.', 'start': 2535.161, 'duration': 0.581}, {'end': 2538.185, 'text': "That's it.", 'start': 2537.765, 'duration': 0.42}, {'end': 2539.647, 'text': 'Just run the code.', 'start': 2538.566, 'duration': 1.081}, {'end': 2547.534, 'text': 'Now it is launching the Gecko driver.', 'start': 2545.912, 'duration': 1.622}, {'end': 2575.523, 'text': 'Here the Gecko is launched.', 'start': 2573.342, 'duration': 2.181}, {'end': 2594.233, 'text': 'Here it is launching selenium-hq.download.', 'start': 2589.31, 'duration': 4.923}, {'end': 2602.417, 'text': 'So this is how you launch any particular browser and the URL.', 'start': 2598.014, 'duration': 4.403}, {'end': 2606.063, 'text': "So let's understand what is this web elements.", 'start': 2603.82, 'duration': 2.243}, {'end': 2609.187, 'text': 'So web element is very simple.', 'start': 2607.525, 'duration': 1.662}, {'end': 2613.112, 'text': 'You might have been heard about objects, components.', 'start': 2609.688, 'duration': 3.424}], 'summary': 'Launching gecko driver, selenium-hq.download, and understanding web elements.', 'duration': 82.634, 'max_score': 2530.478, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE2530478.jpg'}, {'end': 2907.087, 'src': 'embed', 'start': 2850, 'weight': 0, 'content': [{'end': 2859.865, 'text': 'radio buttons where you need to select some values for registration, either female, male, you can select either.', 'start': 2850, 'duration': 9.865}, {'end': 2866.829, 'text': 'similarly, list box, where you have many options, where you select, under that drop down, one particular value.', 'start': 2859.865, 'duration': 6.964}, {'end': 2873.172, 'text': 'according to the business logic, the combo boxes are something drop downs like.', 'start': 2866.829, 'duration': 6.343}, {'end': 2876.314, 'text': 'once you click on this downward arrow, you will get many options.', 'start': 2873.172, 'duration': 3.142}, {'end': 2889.605, 'text': 'okay, where you can select one, like countries to be selected, where you can click on the box and get the country selected, or dates, months, so on.', 'start': 2877.253, 'duration': 12.352}, {'end': 2899.575, 'text': 'okay, so these are the different web elements present on any web application which you are going to automate.', 'start': 2889.605, 'duration': 9.97}, {'end': 2907.087, 'text': 'so now here We are going to see how to find the web elements and its HTML code.', 'start': 2899.575, 'duration': 7.512}], 'summary': 'Web elements such as radio buttons, list boxes, and combo boxes are used for registration and selection on web applications.', 'duration': 57.087, 'max_score': 2850, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE2850000.jpg'}, {'end': 3193.485, 'src': 'embed', 'start': 3170.744, 'weight': 9, 'content': [{'end': 3178.288, 'text': 'What is the text on the page? On the application what is the link? Forgotten account is the link text.', 'start': 3170.744, 'duration': 7.544}, {'end': 3179.829, 'text': 'We call this as a link text.', 'start': 3178.468, 'duration': 1.361}, {'end': 3183.351, 'text': 'So you see forgotten account question mark.', 'start': 3181.11, 'duration': 2.241}, {'end': 3184.592, 'text': 'This is the link text.', 'start': 3183.391, 'duration': 1.201}, {'end': 3193.485, 'text': 'so you can find the element with the help of some attribute of a tag or with link text.', 'start': 3186.741, 'duration': 6.744}], 'summary': 'The transcript discusses identifying link text and elements on a page for an application.', 'duration': 22.741, 'max_score': 3170.744, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE3170744.jpg'}, {'end': 3402.1, 'src': 'embed', 'start': 3316.22, 'weight': 5, 'content': [{'end': 3321.103, 'text': 'If you have a links you go with the link text and partial link text or either.', 'start': 3316.22, 'duration': 4.883}, {'end': 3324.705, 'text': 'Also, you can find an element based on CSS.', 'start': 3322.143, 'duration': 2.562}, {'end': 3333.673, 'text': 'If neither of these approaches working out, that is ID, name, class or tag name, you can also design your XPath.', 'start': 3325.666, 'duration': 8.007}, {'end': 3337.577, 'text': "Okay, so we'll see one by one these locators.", 'start': 3334.754, 'duration': 2.823}, {'end': 3340.339, 'text': "For example, the first one that's an ID.", 'start': 3338.177, 'duration': 2.162}, {'end': 3353.577, 'text': 'If ID is available for your web element, how to find it? The syntax is by dot ID and within double quotes you need to provide the value of the ID.', 'start': 3341.48, 'duration': 12.097}, {'end': 3363.641, 'text': 'So here what is by? By is nothing but a class which having the all the locators and this is the value for that locator.', 'start': 3354.778, 'duration': 8.863}, {'end': 3371.925, 'text': "This value for the locator you'll get by inspecting the element which we have already discussed in our last session.", 'start': 3365.242, 'duration': 6.683}, {'end': 3378.614, 'text': 'Now, whatever the attribute we have found, how to find an element with those attributes?', 'start': 3373.513, 'duration': 5.101}, {'end': 3381.435, 'text': 'That will be again driver.', 'start': 3379.334, 'duration': 2.101}, {'end': 3393.378, 'text': 'that is nothing but our instance, pointing to a browser and the URL driver.findElementorMethod, by.whatever the locator ID and the value.', 'start': 3381.435, 'duration': 11.943}, {'end': 3395.758, 'text': 'And there you can forward the data to it.', 'start': 3393.918, 'duration': 1.84}, {'end': 3402.1, 'text': "Now the same way, let's just check, see one example based on the ID.", 'start': 3398.179, 'duration': 3.921}], 'summary': 'The transcript discusses finding web elements using different locators such as id, name, class, tag name, and xpath, providing syntax and examples.', 'duration': 85.88, 'max_score': 3316.22, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE3316220.jpg'}, {'end': 3632.226, 'src': 'embed', 'start': 3598.983, 'weight': 2, 'content': [{'end': 3601.853, 'text': 'import this web element Now.', 'start': 3598.983, 'duration': 2.87}, {'end': 3607.456, 'text': 'our variable, UNM, is nothing but pointing to the text box from Facebook.', 'start': 3601.853, 'duration': 5.603}, {'end': 3610.257, 'text': 'Now we have found a text box.', 'start': 3608.597, 'duration': 1.66}, {'end': 3611.958, 'text': 'You need to enter data to it.', 'start': 3610.458, 'duration': 1.5}, {'end': 3614.26, 'text': 'So I can take this variable name.', 'start': 3612.319, 'duration': 1.941}, {'end': 3619.842, 'text': 'Dot you need to enter data.', 'start': 3618.162, 'duration': 1.68}, {'end': 3622.023, 'text': 'These are the methods from web element.', 'start': 3619.882, 'duration': 2.141}, {'end': 3623.904, 'text': 'You can clear it.', 'start': 3623.064, 'duration': 0.84}, {'end': 3626.066, 'text': 'You can click over it right.', 'start': 3624.165, 'duration': 1.901}, {'end': 3630.268, 'text': 'You can enter data to the text box by using a method.', 'start': 3626.386, 'duration': 3.882}, {'end': 3632.226, 'text': 'Here, send keys.', 'start': 3631.124, 'duration': 1.102}], 'summary': 'Using web element methods to interact with a text box, such as entering data and clearing it.', 'duration': 33.243, 'max_score': 3598.983, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE3598983.jpg'}, {'end': 3731.549, 'src': 'embed', 'start': 3700.933, 'weight': 4, 'content': [{'end': 3703.639, 'text': "Here instead of ID, you'll use a name locator.", 'start': 3700.933, 'duration': 2.706}, {'end': 3714.959, 'text': 'For example, if we inspect a password Here password is having type, class is also there, name as well as ID.', 'start': 3704.861, 'duration': 10.098}, {'end': 3718.561, 'text': "So let's take and consider this name locator.", 'start': 3715.259, 'duration': 3.302}, {'end': 3720.742, 'text': 'The value for the name is pass.', 'start': 3719.161, 'duration': 1.581}, {'end': 3726.986, 'text': 'The same process again, driver dot find element by dot.', 'start': 3721.403, 'duration': 5.583}, {'end': 3729.568, 'text': "Now take the locator, that's a name.", 'start': 3727.767, 'duration': 1.801}, {'end': 3731.549, 'text': 'And now pass the value.', 'start': 3730.388, 'duration': 1.161}], 'summary': "Using name locator instead of id for a password, with value 'pass'.", 'duration': 30.616, 'max_score': 3700.933, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE3700933.jpg'}], 'start': 2530.478, 'title': 'Web elements and html inspection', 'summary': 'Provides an overview of web elements, including types such as text boxes, links, buttons, images, and their html inspection process. it focuses on understanding unique attributes for testing and provides examples using facebook.com. it discusses inspecting web elements to find their html code, identifying unique attributes, understanding html code structure, various locators, and using selenium webdriver to find and interact with web elements, emphasizing the importance of reliable locators like id and name.', 'chapters': [{'end': 2964.727, 'start': 2530.478, 'title': 'Web elements and html inspection', 'summary': 'Provides an overview of web elements in web applications, including types such as text boxes, links, buttons, images, and their html inspection process, with a focus on understanding unique attributes for testing, using the example of facebook.com.', 'duration': 434.249, 'highlights': ['Web elements include text boxes, links, buttons, images, text areas, check boxes, radio buttons, list boxes, and combo boxes. It explains the various types of web elements such as text boxes, links, buttons, images, text areas, check boxes, radio buttons, list boxes, and combo boxes found in web applications.', 'Understanding the HTML code and unique attributes of web elements is crucial for testing. It emphasizes the importance of understanding the HTML code and unique attributes of web elements for effective testing in web applications.', 'The example of inspecting web elements and HTML code is demonstrated using the familiar web application, Facebook.com. It provides a practical example of inspecting web elements and their HTML code using the popular web application, Facebook.com, to help understand the concepts in a real-world context.']}, {'end': 3193.485, 'start': 2965.308, 'title': 'Inspecting web elements', 'summary': 'Discusses the process of inspecting web elements to find their html code, identifying unique attributes such as id for text boxes and using anchor tags or link text for links.', 'duration': 228.177, 'highlights': ["Inspecting web elements involves finding the HTML code by right-clicking on the component and selecting 'inspect', then identifying unique attributes such as ID for text boxes and using anchor tags or link text for links. The process of inspecting web elements involves finding the HTML code by right-clicking on the component and selecting 'inspect', then identifying unique attributes such as ID for text boxes and using anchor tags or link text for links.", 'Identifying unique attributes such as ID for text boxes is important for testing priority, as it helps distinguish elements from others with different values on the application. Identifying unique attributes such as ID for text boxes is important for testing priority, as it helps distinguish elements from others with different values on the application.', "The link text, such as 'Forgotten account', can be used to find the element with the help of some attribute of a tag or with link text. The link text, such as 'Forgotten account', can be used to find the element with the help of some attribute of a tag or with link text."]}, {'end': 3510.554, 'start': 3193.485, 'title': 'Html element inspection and locators', 'summary': 'Explains the process of inspecting html elements to understand their code structure, discusses various locators such as id, name, class name, and tag name, and provides examples of using id locator to find and interact with web elements in selenium webdriver.', 'duration': 317.069, 'highlights': ['The process of inspecting HTML elements to understand their code structure and the usage of attributes such as class, name, id, and tag name.', 'Detailed explanation of various locators including ID, name, class name, tag name, link text, partial link text, and CSS for finding elements in Selenium WebDriver.', 'Preference given to the ID locator, followed by name, class name, tag name, link text, partial link text, CSS, and XPath when locating elements in Selenium WebDriver.']}, {'end': 3801.369, 'start': 3511.375, 'title': 'Using selenium webdriver to find and interact with web elements', 'summary': 'Illustrates the usage of selenium webdriver to find and interact with web elements, including methods such as find element, send keys, and the importance of using reliable locators like id and name.', 'duration': 289.994, 'highlights': ["The 'find element' method is used to locate a single web element, and the output is a web element, which can be assigned to a variable for further interaction (e.g., entering data using 'send keys').", 'The importance of using reliable locators such as ID and name is emphasized, as dynamic locators like ID with changing values can lead to issues during execution.', "The process of finding elements based on name locator is explained, including how to locate and interact with a password field using the 'find element' method and sending keys to enter data.", 'The significance of avoiding dynamic locators like ID with changing values, and instead using static, reliable locators such as name, for interacting with web elements is highlighted.']}], 'duration': 1270.891, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE2530478.jpg', 'highlights': ['Web elements include text boxes, links, buttons, images, text areas, check boxes, radio buttons, list boxes, and combo boxes.', 'Understanding the HTML code and unique attributes of web elements is crucial for testing.', 'The example of inspecting web elements and HTML code is demonstrated using the familiar web application, Facebook.com.', "Inspecting web elements involves finding the HTML code by right-clicking on the component and selecting 'inspect', then identifying unique attributes such as ID for text boxes and using anchor tags or link text for links.", 'Identifying unique attributes such as ID for text boxes is important for testing priority.', "The link text, such as 'Forgotten account', can be used to find the element with the help of some attribute of a tag or with link text.", 'The process of inspecting HTML elements to understand their code structure and the usage of attributes such as class, name, id, and tag name.', 'Detailed explanation of various locators including ID, name, class name, tag name, link text, partial link text, and CSS for finding elements in Selenium WebDriver.', 'Preference given to the ID locator, followed by name, class name, tag name, link text, partial link text, CSS, and XPath when locating elements in Selenium WebDriver.', "The 'find element' method is used to locate a single web element, and the output is a web element, which can be assigned to a variable for further interaction (e.g., entering data using 'send keys').", 'The importance of using reliable locators such as ID and name is emphasized.', "The process of finding elements based on name locator is explained, including how to locate and interact with a password field using the 'find element' method and sending keys to enter data.", 'The significance of avoiding dynamic locators like ID with changing values, and instead using static, reliable locators such as name, for interacting with web elements is highlighted.']}, {'end': 4635.742, 'segs': [{'end': 4068.573, 'src': 'embed', 'start': 4038.261, 'weight': 3, 'content': [{'end': 4040.802, 'text': 'And link has to be provided as a string input.', 'start': 4038.261, 'duration': 2.541}, {'end': 4045.103, 'text': "Where the copied link text I'm placing here.", 'start': 4042.582, 'duration': 2.521}, {'end': 4052.465, 'text': 'So I can save it to a variable or directly we can make links are clicked.', 'start': 4046.383, 'duration': 6.082}, {'end': 4053.885, 'text': 'Click action.', 'start': 4053.365, 'duration': 0.52}, {'end': 4058.607, 'text': 'can just run this code.', 'start': 4055.765, 'duration': 2.842}, {'end': 4064.09, 'text': 'so that link has been clicked here on the right now on the data policy page.', 'start': 4058.607, 'duration': 5.483}, {'end': 4068.573, 'text': 'okay, now, coming here, we can also take two more methods.', 'start': 4064.09, 'duration': 4.483}], 'summary': 'The transcript discusses providing a string input for a link, saving it to a variable, and performing click actions.', 'duration': 30.312, 'max_score': 4038.261, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE4038261.jpg'}, {'end': 4182.372, 'src': 'embed', 'start': 4114.214, 'weight': 0, 'content': [{'end': 4116.654, 'text': 'the close will do the close action.', 'start': 4114.214, 'duration': 2.44}, {'end': 4118.196, 'text': 'now this data policy.', 'start': 4116.654, 'duration': 1.542}, {'end': 4124.558, 'text': "we can also inspect the element with a partial link, like now when I'm inspecting this data policy.", 'start': 4118.196, 'duration': 6.362}, {'end': 4130.08, 'text': "instead of taking this complete text data as well as policy, I'll just copy only the data.", 'start': 4124.558, 'duration': 5.522}, {'end': 4144.148, 'text': 'I just take only data because sometimes later developers may change instead of data policy they may make it as a data terms or data information.', 'start': 4131.745, 'duration': 12.403}, {'end': 4148.649, 'text': "so where my, I don't want to fail my automation script.", 'start': 4144.148, 'duration': 4.501}, {'end': 4157.372, 'text': 'if data is available, then it should inspect this link, irrespective of whatever would be the second set of data text available there.', 'start': 4148.649, 'duration': 8.723}, {'end': 4162.584, 'text': "so that's that you can do with the help of partial link text.", 'start': 4158.462, 'duration': 4.122}, {'end': 4169.126, 'text': 'so going here driver.find by.partial link text.', 'start': 4162.584, 'duration': 6.542}, {'end': 4182.372, 'text': 'I would give only data and here the dot click.', 'start': 4169.126, 'duration': 13.246}], 'summary': 'Automate inspection of partial link text for data policy to ensure robustness in automation scripts.', 'duration': 68.158, 'max_score': 4114.214, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE4114214.jpg'}, {'end': 4262.611, 'src': 'embed', 'start': 4226.969, 'weight': 4, 'content': [{'end': 4230.469, 'text': 'uh, now we have, uh, something known as an xpath.', 'start': 4226.969, 'duration': 3.5}, {'end': 4246.804, 'text': "so i'm just commenting all this code because i want to okay click and keep it, or i'm just commenting every code in the Facebook.", 'start': 4230.469, 'duration': 16.335}, {'end': 4255.628, 'text': 'Now how to use an XPath? XPath is nothing but giving the path of that element, web element.', 'start': 4247.405, 'duration': 8.223}, {'end': 4262.611, 'text': 'So maybe the path may be using with some attributes or path can be designed based on the position.', 'start': 4256.468, 'duration': 6.143}], 'summary': 'Introducing xpath for web element navigation and code commenting in facebook.', 'duration': 35.642, 'max_score': 4226.969, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE4226969.jpg'}, {'end': 4522.422, 'src': 'embed', 'start': 4485.955, 'weight': 5, 'content': [{'end': 4487.536, 'text': "There you'll find an input tag.", 'start': 4485.955, 'duration': 1.581}, {'end': 4492.3, 'text': 'This is nothing but different ways of finding the XPath.', 'start': 4488.337, 'duration': 3.963}, {'end': 4498.064, 'text': 'So how to use an element by using this XPath?', 'start': 4493.721, 'duration': 4.343}, {'end': 4507.811, 'text': "Now you make sure, whatever the ID you get with double quotes make into, otherwise you'll get some errors right.", 'start': 4498.124, 'duration': 9.687}, {'end': 4522.422, 'text': 'so you can just take this XPath and I can say driver dot, find element by dot XPath and give the XPath value over there.', 'start': 4507.811, 'duration': 14.611}], 'summary': 'Explains using xpath to find elements in web automation.', 'duration': 36.467, 'max_score': 4485.955, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE4485955.jpg'}], 'start': 3802.45, 'title': 'Selenium locators, actions, and xpath usage', 'summary': 'Covers the usage of different locators such as id, link text, and partial link text to inspect elements on a web page, along with actions like clicking on a button and handling multiple windows in selenium automation testing. it also explains the concept of xpath in selenium webdriver, including absolute and relative xpath, and how to use them to locate web elements, with the process being a frequent task in everyday testing, ensuring correct element identification and data entry.', 'chapters': [{'end': 4226.969, 'start': 3802.45, 'title': 'Selenium locators and actions', 'summary': 'Covers the usage of different locators such as id, link text, and partial link text to inspect elements on a web page, along with actions like clicking on a button and handling multiple windows in selenium automation testing.', 'duration': 424.519, 'highlights': ['The usage of ID as a locator to inspect a button and perform a click action, allowing movement to the next page after entering username and password. The ID attribute is used to inspect the button and perform a click action, enabling movement to the next page after entering username and password.', 'Demonstrating the inspection of links using link text and partial link text locators, along with performing click actions on the identified links. The process of inspecting links using link text and partial link text locators is demonstrated, followed by performing click actions on the identified links.', "Handling multiple windows by utilizing the 'close' and 'quit' methods in Selenium to close the parent window, child window, or both windows after execution. The 'close' and 'quit' methods in Selenium are employed to handle multiple windows, allowing the closure of the parent window, child window, or both windows after execution."]}, {'end': 4635.742, 'start': 4226.969, 'title': 'Using xpath in selenium webdriver', 'summary': 'Explains the concept of xpath in selenium webdriver, including absolute and relative xpath, and how to use them to locate web elements, with the process being a frequent task in everyday testing, ensuring correct element identification and data entry.', 'duration': 408.773, 'highlights': ['The chapter explains the concept of XPath in Selenium WebDriver, including absolute and relative XPath. It highlights the two types of XPath - absolute and relative - and their significance in locating web elements.', 'The process of using XPath to locate web elements is a frequent task in everyday testing. It emphasizes that the process of using XPath to locate web elements is a frequent task in everyday testing, ensuring correct element identification and data entry.', 'XPath is used to locate web elements, ensuring correct element identification and data entry. It emphasizes the importance of using XPath to ensure correct identification and data entry of web elements in Selenium WebDriver.']}], 'duration': 833.292, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE3802450.jpg', 'highlights': ['The process of using XPath to locate web elements is a frequent task in everyday testing.', 'XPath is used to locate web elements, ensuring correct element identification and data entry.', "Handling multiple windows by utilizing the 'close' and 'quit' methods in Selenium to close the parent window, child window, or both windows after execution.", 'The chapter explains the concept of XPath in Selenium WebDriver, including absolute and relative XPath.', 'The usage of ID as a locator to inspect a button and perform a click action, allowing movement to the next page after entering username and password.', 'Demonstrating the inspection of links using link text and partial link text locators, along with performing click actions on the identified links.']}, {'end': 5709.85, 'segs': [{'end': 4695.317, 'src': 'embed', 'start': 4671.034, 'weight': 1, 'content': [{'end': 4676.918, 'text': 'Else no worries, you can use other available plugins for inspecting for the same purpose.', 'start': 4671.034, 'duration': 5.884}, {'end': 4685.704, 'text': 'But in case if you are having the older version of Firefox, only Firefox only, no other browser supports these plugins.', 'start': 4677.939, 'duration': 7.765}, {'end': 4688.791, 'text': "So we'll understand what is a firebug.", 'start': 4686.889, 'duration': 1.902}, {'end': 4695.317, 'text': 'Firebug is nothing but a plugin which is helpful for inspecting the element.', 'start': 4689.191, 'duration': 6.126}], 'summary': 'Firebug is a plugin for inspecting elements in older versions of firefox only.', 'duration': 24.283, 'max_score': 4671.034, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE4671034.jpg'}, {'end': 4979.647, 'src': 'heatmap', 'start': 4749.09, 'weight': 0, 'content': [{'end': 4756.922, 'text': 'From here I can just search like download firebug.', 'start': 4749.09, 'duration': 7.832}, {'end': 4759.026, 'text': 'Initially go add the firebug.', 'start': 4757.143, 'duration': 1.883}, {'end': 4761.112, 'text': "you'll find it directly.", 'start': 4760.031, 'duration': 1.081}, {'end': 4770.539, 'text': "the firebug here available, but right now no firebug is available directly, because this current firefox doesn't support the firebug,", 'start': 4761.112, 'duration': 9.427}, {'end': 4772.12, 'text': "so I can't add it.", 'start': 4770.539, 'duration': 1.581}, {'end': 4778.184, 'text': 'if you find that firebug, just select it and say, as you find here the option add to firefox.', 'start': 4772.12, 'duration': 6.064}, {'end': 4781.467, 'text': "similarly you'll get there also the option of add to firefox.", 'start': 4778.184, 'duration': 3.283}, {'end': 4782.848, 'text': 'just click over it.', 'start': 4781.467, 'duration': 1.381}, {'end': 4785.89, 'text': 'and if it is asking you to install, just install.', 'start': 4782.848, 'duration': 3.042}, {'end': 4789.353, 'text': 'and if it asks you to restart the firefox, just click on restart.', 'start': 4785.89, 'duration': 3.463}, {'end': 4793.754, 'text': 'It will automatically close and open the Firefox browser once again.', 'start': 4789.853, 'duration': 3.901}, {'end': 4801.436, 'text': 'So after adding the fire bug, you can also search for fire path.', 'start': 4795.074, 'duration': 6.362}, {'end': 4806.518, 'text': "So here also we don't have fire path, no compatibility.", 'start': 4803.177, 'duration': 3.341}, {'end': 4811.659, 'text': 'If you find Firefox, just click on it and add to the Firefox browser.', 'start': 4807.038, 'duration': 4.621}, {'end': 4814.99, 'text': 'So in this manner you add these two tools.', 'start': 4812.728, 'duration': 2.262}, {'end': 4819.073, 'text': "Once added you'll find some icons for the firebug and firepath.", 'start': 4815.55, 'duration': 3.523}, {'end': 4827.439, 'text': "If no also when I'm inspecting any element when I do right click here you find the option of firepath.", 'start': 4819.653, 'duration': 7.786}, {'end': 4834.189, 'text': 'as right now fire path is not configured to this new version of firefox.', 'start': 4829.048, 'duration': 5.141}, {'end': 4840.511, 'text': "but if you don't have no worries, you can directly inspect element queue.", 'start': 4834.189, 'duration': 6.322}, {'end': 4849.453, 'text': 'this also will give you the properties of the web elements the same manner as we did on the chrome browser.', 'start': 4840.511, 'duration': 8.942}, {'end': 4854.534, 'text': 'so you can inspect element on any browsers firefox chrome anywhere.', 'start': 4849.453, 'duration': 5.081}, {'end': 4857.655, 'text': 'I can right click on this copy here.', 'start': 4854.534, 'duration': 3.121}, {'end': 4869.252, 'text': 'For Xpath, you can use crow path.', 'start': 4867.11, 'duration': 2.142}, {'end': 4874.497, 'text': 'So using would be the same as we did with the Chrome browser.', 'start': 4870.794, 'duration': 3.703}, {'end': 4881.323, 'text': 'Select the crow path and here automatically whichever element you inspect, you find the relative Xpath here.', 'start': 4875.057, 'duration': 6.266}, {'end': 4883.385, 'text': 'Relative Xpath, absolute Xpath.', 'start': 4881.623, 'duration': 1.762}, {'end': 4886.808, 'text': 'And you need to just select it and get it.', 'start': 4884.586, 'duration': 2.222}, {'end': 4898.014, 'text': 'The process is the same whichever browser it is but here only these are the different tools Firebug and Firepath only compatible with Firefox browser.', 'start': 4888.444, 'duration': 9.57}, {'end': 4900.997, 'text': 'They are not available with other browsers.', 'start': 4898.394, 'duration': 2.603}, {'end': 4904.59, 'text': "So let's see an individual method.", 'start': 4902.469, 'duration': 2.121}, {'end': 4905.89, 'text': "That's a get method.", 'start': 4904.93, 'duration': 0.96}, {'end': 4910.352, 'text': 'Our WebDriver object is a driver, driver.getURL.', 'start': 4906.41, 'duration': 3.942}, {'end': 4914.153, 'text': 'Means it will just launch that particular past URL.', 'start': 4910.652, 'duration': 3.501}, {'end': 4916.714, 'text': 'Similarly, getCurrentURL.', 'start': 4915.073, 'duration': 1.641}, {'end': 4922.115, 'text': 'This method will retrieve or display the current URL opened on the browser.', 'start': 4916.754, 'duration': 5.361}, {'end': 4925.216, 'text': 'So it is going to return the output.', 'start': 4923.616, 'duration': 1.6}, {'end': 4927.457, 'text': 'Get is something returning a void output.', 'start': 4925.456, 'duration': 2.001}, {'end': 4935.072, 'text': 'The same way you have a get title, which will display the title present on the current page displayed.', 'start': 4928.868, 'duration': 6.204}, {'end': 4937.753, 'text': 'It has a written type of a string.', 'start': 4935.692, 'duration': 2.061}, {'end': 4947.279, 'text': 'Now, similarly, you have get text, a web element having a text display, like a link having some text, link text.', 'start': 4939.754, 'duration': 7.525}, {'end': 4950.841, 'text': 'So you can display the text present over that web element.', 'start': 4947.879, 'duration': 2.962}, {'end': 4956.564, 'text': 'You can also know the tag name for that element, which you are inspecting.', 'start': 4951.861, 'duration': 4.703}, {'end': 4960.678, 'text': 'the CSS value of that particular element.', 'start': 4958.157, 'duration': 2.521}, {'end': 4968.902, 'text': 'You can also get the attributes values, okay? Attribute of that particular web element.', 'start': 4961.539, 'duration': 7.363}, {'end': 4975.985, 'text': 'Here you can submit, as you say, enter some data.', 'start': 4971.823, 'duration': 4.162}, {'end': 4979.647, 'text': 'You can also submit that particular web element.', 'start': 4976.445, 'duration': 3.202}], 'summary': 'Instructions for adding firebug and firepath to firefox, along with webdriver methods for browser automation.', 'duration': 29.094, 'max_score': 4749.09, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE4749090.jpg'}, {'end': 4956.564, 'src': 'embed', 'start': 4902.469, 'weight': 4, 'content': [{'end': 4904.59, 'text': "So let's see an individual method.", 'start': 4902.469, 'duration': 2.121}, {'end': 4905.89, 'text': "That's a get method.", 'start': 4904.93, 'duration': 0.96}, {'end': 4910.352, 'text': 'Our WebDriver object is a driver, driver.getURL.', 'start': 4906.41, 'duration': 3.942}, {'end': 4914.153, 'text': 'Means it will just launch that particular past URL.', 'start': 4910.652, 'duration': 3.501}, {'end': 4916.714, 'text': 'Similarly, getCurrentURL.', 'start': 4915.073, 'duration': 1.641}, {'end': 4922.115, 'text': 'This method will retrieve or display the current URL opened on the browser.', 'start': 4916.754, 'duration': 5.361}, {'end': 4925.216, 'text': 'So it is going to return the output.', 'start': 4923.616, 'duration': 1.6}, {'end': 4927.457, 'text': 'Get is something returning a void output.', 'start': 4925.456, 'duration': 2.001}, {'end': 4935.072, 'text': 'The same way you have a get title, which will display the title present on the current page displayed.', 'start': 4928.868, 'duration': 6.204}, {'end': 4937.753, 'text': 'It has a written type of a string.', 'start': 4935.692, 'duration': 2.061}, {'end': 4947.279, 'text': 'Now, similarly, you have get text, a web element having a text display, like a link having some text, link text.', 'start': 4939.754, 'duration': 7.525}, {'end': 4950.841, 'text': 'So you can display the text present over that web element.', 'start': 4947.879, 'duration': 2.962}, {'end': 4956.564, 'text': 'You can also know the tag name for that element, which you are inspecting.', 'start': 4951.861, 'duration': 4.703}], 'summary': 'Webdriver methods like geturl, getcurrenturl, gettitle, gettext, and gettagname retrieve specific information from web elements.', 'duration': 54.095, 'max_score': 4902.469, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE4902469.jpg'}, {'end': 5169.381, 'src': 'embed', 'start': 5055.788, 'weight': 5, 'content': [{'end': 5062.472, 'text': 'We are going to take system.set property and with the help of get method launching of the URL.', 'start': 5055.788, 'duration': 6.684}, {'end': 5067.556, 'text': 'So as you know this is one of the method already we have discussed.', 'start': 5064.394, 'duration': 3.162}, {'end': 5078.343, 'text': 'Get is a one method of the WebDriver class whose return type is void and input is a string where you need to pass the required URL to be launched.', 'start': 5067.916, 'duration': 10.427}, {'end': 5083.917, 'text': 'Now on this Facebook you I can inspect any element.', 'start': 5079.793, 'duration': 4.124}, {'end': 5087.941, 'text': 'I want to know the title of this open application.', 'start': 5084.437, 'duration': 3.504}, {'end': 5091.804, 'text': 'So for that you have driver dot.', 'start': 5088.381, 'duration': 3.423}, {'end': 5094.387, 'text': 'Get title method.', 'start': 5092.966, 'duration': 1.421}, {'end': 5096.129, 'text': 'Return type is a string.', 'start': 5094.947, 'duration': 1.182}, {'end': 5101.634, 'text': 'As it is returning the string output, the title you can assign to a variable.', 'start': 5097.49, 'duration': 4.144}, {'end': 5111.215, 'text': 'and the declare the data type of that variable as string data type.', 'start': 5105.931, 'duration': 5.284}, {'end': 5122.122, 'text': 'As the result is in this variable, now you can display the result sysout system.out.println.', 'start': 5112.535, 'duration': 9.587}, {'end': 5133.669, 'text': 'Here I can say title is concatenated with the variable.', 'start': 5125.724, 'duration': 7.945}, {'end': 5137.297, 'text': 'okay, this would display the title.', 'start': 5135.836, 'duration': 1.461}, {'end': 5157.493, 'text': 'you can run it, execute java application, save and launch the program, and it would now launch the chrome browser with the required url.', 'start': 5137.297, 'duration': 20.196}, {'end': 5164.519, 'text': 'here it will try to display the title of the opened application.', 'start': 5157.493, 'duration': 7.026}, {'end': 5169.381, 'text': 'So you see here the title is Facebook login or sign up.', 'start': 5165.56, 'duration': 3.821}], 'summary': "Using system.set property and get method to launch url, inspect elements, and display title, resulting in 'facebook login or sign up.'", 'duration': 113.593, 'max_score': 5055.788, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE5055788.jpg'}, {'end': 5284.914, 'src': 'embed', 'start': 5227.838, 'weight': 2, 'content': [{'end': 5232.86, 'text': 'so here again, driver dot the method, get current url.', 'start': 5227.838, 'duration': 5.022}, {'end': 5240.243, 'text': "that's again a string, so directly you can use displayed without passing it to a variable system.", 'start': 5232.86, 'duration': 7.383}, {'end': 5243.625, 'text': 'dot out dot, println, your driver instance.', 'start': 5240.243, 'duration': 3.382}, {'end': 5257.509, 'text': 'Just a second.', 'start': 5256.289, 'duration': 1.22}, {'end': 5265.431, 'text': 'This is not responding.', 'start': 5263.89, 'duration': 1.541}, {'end': 5279.333, 'text': "So here I'm just taking the driver instance, driver.getCurrentUrl.", 'start': 5271.412, 'duration': 7.921}, {'end': 5284.914, 'text': 'So when you run this, it will display the URL of the open application.', 'start': 5280.453, 'duration': 4.461}], 'summary': 'Using driver.getcurrenturl method to display the url of the open application.', 'duration': 57.076, 'max_score': 5227.838, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE5227838.jpg'}, {'end': 5679.232, 'src': 'embed', 'start': 5651.709, 'weight': 6, 'content': [{'end': 5663.159, 'text': "So to tell the web driver wait for certain time period to load the second page, we'll be using passing a wait statement that is thread.", 'start': 5651.709, 'duration': 11.45}, {'end': 5671.287, 'text': 'There is a method sleep and you need to specify the duration, how long it is going to wait.', 'start': 5664.561, 'duration': 6.726}, {'end': 5676.431, 'text': 'So the sleep method takes the input in the form of milliseconds.', 'start': 5672.509, 'duration': 3.922}, {'end': 5679.232, 'text': 'I give 2000 milliseconds, that is 2 seconds.', 'start': 5676.511, 'duration': 2.721}], 'summary': 'Using web driver to wait for 2 seconds to load the second page.', 'duration': 27.523, 'max_score': 5651.709, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE5651709.jpg'}], 'start': 4638.044, 'title': 'Selenium webdriver basics', 'summary': 'Covers inspecting web elements with firebug and firepath, webdriver methods for web element interaction, and using selenium webdriver for web automation. it includes specifics such as using firebug and firepath plugins for inspecting web elements, introducing webdriver methods for interaction and navigation, and demonstrating web automation with selenium webdriver, including methods for retrieving title and url, handling exceptions, and using thread sleep.', 'chapters': [{'end': 4900.997, 'start': 4638.044, 'title': 'Inspecting web elements with firebug and firepath', 'summary': 'Discusses the use of firebug and firepath plugins for inspecting web elements, specifically for older versions of firefox (e.g., version 50 or 51.0), with firebug being used for inspecting elements and firepath for finding the xpath of the element.', 'duration': 262.953, 'highlights': ['Firebug and Firepath are only available with older versions of Firefox (e.g., version 50 or 51.0). These plugins are limited to older versions of Firefox, specifically version 50 or 51.0.', 'Firebug is used for inspecting elements similar to the right-click inspect function. Firebug serves the purpose of inspecting elements, functioning similarly to the right-click inspect feature.', 'Firepath is used to find the XPath of the element. Firepath is specifically used to find the XPath of the element being inspected.']}, {'end': 5083.917, 'start': 4902.469, 'title': 'Webdriver methods for web element interaction', 'summary': 'Introduces webdriver methods like get, getcurrenturl, gettitle, gettext, gettagname, getcssvalue, getattribute, submit, getpagesource, close, and quit for web element interaction and navigation, with get method having a return type of void and taking a string input.', 'duration': 181.448, 'highlights': ['The chapter introduces WebDriver methods like get, getCurrentURL, getTitle, getText, getTagName, getCssValue, getAttribute, submit, getPageSource, close, and quit for web element interaction and navigation, with get method having a return type of void and taking a string input.', 'The get method, part of the WebDriver object, is used to launch a specific URL, and the getCurrentURL method retrieves the current URL opened on the browser.', 'The getTitle method displays the title present on the current page displayed, with a return type of string.', 'The getAttribute method is used to get the attribute of a web element, taking a string input as a locator to get the attribute of the identified web element.']}, {'end': 5709.85, 'start': 5084.437, 'title': 'Using selenium webdriver for web automation', 'summary': 'Explains how to use selenium webdriver for web automation, covering methods to retrieve the title and url of an open application, close the application, get and print web element attributes, and navigate through web pages. it also demonstrates using thread sleep for waiting and exception handling.', 'duration': 625.413, 'highlights': ['The chapter explains how to use Selenium WebDriver for web automation. Covers the basics of using Selenium WebDriver for web automation.', 'Methods to retrieve the title and URL of an open application are demonstrated. Describes using driver.getTitle() to retrieve the title and driver.getCurrentUrl() to retrieve the URL.', 'Demonstrates closing the open application using driver.close(). Explains the usage of driver.close() method to close the open application.', 'Describes methods to get and print web element attributes using getAttribute() and getCssValue(). Explains how to use getAttribute() to retrieve specific attributes and getCssValue() to retrieve the CSS value of web elements.', 'Navigation methods like forward, back, and refresh are explained. Covers the usage of navigate().forward(), navigate().back(), and navigate().refresh() to navigate through web pages.', 'Demonstrates using thread sleep for waiting and exception handling. Explains using Thread.sleep() to wait for a specified duration and the need for exception handling using try-catch or throws.']}], 'duration': 1071.806, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE4638044.jpg', 'highlights': ['Covers inspecting web elements with firebug and firepath, webdriver methods for web element interaction, and using selenium webdriver for web automation.', 'Firebug and Firepath are only available with older versions of Firefox (e.g., version 50 or 51.0).', 'Firebug is used for inspecting elements similar to the right-click inspect function.', 'Firepath is used to find the XPath of the element.', 'The chapter introduces WebDriver methods like get, getCurrentURL, getTitle, getText, getTagName, getCssValue, getAttribute, submit, getPageSource, close, and quit for web element interaction and navigation, with get method having a return type of void and taking a string input.', 'The get method, part of the WebDriver object, is used to launch a specific URL, and the getCurrentURL method retrieves the current URL opened on the browser.', 'The getTitle method displays the title present on the current page displayed, with a return type of string.', 'The getAttribute method is used to get the attribute of a web element, taking a string input as a locator to get the attribute of the identified web element.', 'The chapter explains how to use Selenium WebDriver for web automation.', 'Methods to retrieve the title and URL of an open application are demonstrated.', 'Demonstrates closing the open application using driver.close().', 'Describes methods to get and print web element attributes using getAttribute() and getCssValue().', 'Navigation methods like forward, back, and refresh are explained.', 'Demonstrates using thread sleep for waiting and exception handling.']}, {'end': 8105.298, 'segs': [{'end': 5975.767, 'src': 'heatmap', 'start': 5769.713, 'weight': 0.875, 'content': [{'end': 5787.437, 'text': 'okay. so then, if you need, you can also just, uh, display some sysout statement as well sysout back executed, back done, or something you can mention.', 'start': 5769.713, 'duration': 17.724}, {'end': 5792.699, 'text': 'right after that you want to move forward, driver dot,', 'start': 5787.437, 'duration': 5.262}, {'end': 5804.963, 'text': 'navigate dot forward and give the time period and a message to understand that we have executed that particular statement.', 'start': 5792.699, 'duration': 12.264}, {'end': 5809.478, 'text': 'Then I want to refresh it.', 'start': 5808.297, 'duration': 1.181}, {'end': 5820.283, 'text': "Driver.navigate.refresh That's done.", 'start': 5809.498, 'duration': 10.785}, {'end': 5822.364, 'text': 'Refreshed I can put a statement.', 'start': 5820.924, 'duration': 1.44}, {'end': 5823.385, 'text': 'Refresh done.', 'start': 5822.645, 'duration': 0.74}, {'end': 5832.67, 'text': 'Okay So you can just run the code.', 'start': 5830.209, 'duration': 2.461}, {'end': 5839.103, 'text': 'and check whether the application is performing the actions as we have mentioned.', 'start': 5835.501, 'duration': 3.602}, {'end': 5854.172, 'text': 'After loading, it will click on the images link.', 'start': 5852.111, 'duration': 2.061}, {'end': 5865.468, 'text': "clicked, it's in the images page.", 'start': 5863.547, 'duration': 1.921}, {'end': 5877.135, 'text': 'it has to move back, then forward, again refresh.', 'start': 5865.468, 'duration': 11.667}, {'end': 5884.079, 'text': 'if you check, the sysout statements are displayed so that indicates the methods got executed.', 'start': 5877.135, 'duration': 6.944}, {'end': 5888.041, 'text': 'so this is all about the navigation methods of webdriver plus.', 'start': 5884.079, 'duration': 3.962}, {'end': 5896.024, 'text': 'Now this is how we usually find an element by using a method, findElement and then passing the locator and its value.', 'start': 5889.198, 'duration': 6.826}, {'end': 5900.807, 'text': 'Also, we are aware of sendKeys method as well.', 'start': 5896.684, 'duration': 4.123}, {'end': 5912.717, 'text': 'So here is a clear method which can be used with a web element where it clears the content of the existing data in the web element.', 'start': 5903.73, 'duration': 8.987}, {'end': 5918.862, 'text': 'Click is used equivalent to clicking on the web element or submitting the data.', 'start': 5913.438, 'duration': 5.424}, {'end': 5928.198, 'text': 'and is enabled, is used to find the status, whether that web element is active.', 'start': 5921.071, 'duration': 7.127}, {'end': 5933.063, 'text': 'if it is active, or then it will return true value.', 'start': 5928.198, 'duration': 4.865}, {'end': 5935.886, 'text': 'okay, then is selected, is something.', 'start': 5933.063, 'duration': 2.823}, {'end': 5937.788, 'text': 'if the element is already selected.', 'start': 5935.886, 'duration': 1.902}, {'end': 5946.174, 'text': 'clicked, then the status would be true, is selected, is true, And similarly, is displayed one more web element.', 'start': 5937.788, 'duration': 8.386}, {'end': 5947.696, 'text': 'we have method.', 'start': 5946.174, 'duration': 1.522}, {'end': 5952.28, 'text': 'we have means whether that particular element is present on the application or not.', 'start': 5947.696, 'duration': 4.584}, {'end': 5956.044, 'text': 'So that also returns either true or false.', 'start': 5953.141, 'duration': 2.903}, {'end': 5959.888, 'text': 'Now discussing these elements.', 'start': 5958.086, 'duration': 1.802}, {'end': 5962.21, 'text': 'In the application.', 'start': 5961.309, 'duration': 0.901}, {'end': 5967.055, 'text': 'We can create a new class.', 'start': 5962.23, 'duration': 4.825}, {'end': 5975.767, 'text': 'Status is a class name.', 'start': 5973.405, 'duration': 2.362}], 'summary': 'The transcript covers navigation and methods in webdriver, including findelement, sendkeys, and various status check methods.', 'duration': 206.054, 'max_score': 5769.713, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE5769713.jpg'}, {'end': 6085.742, 'src': 'embed', 'start': 6057.161, 'weight': 2, 'content': [{'end': 6062.806, 'text': 'So it is just finding the element if I select this XPath.', 'start': 6057.161, 'duration': 5.645}, {'end': 6071.209, 'text': "It's saying on the Facebook you will find a div tag having a class and the class value is underscore 5iyy.", 'start': 6063.647, 'duration': 7.562}, {'end': 6076.373, 'text': "Under that going ahead you'll find one more image tag having class is equal to image.", 'start': 6072.15, 'duration': 4.223}, {'end': 6084.401, 'text': 'So we know right now the image is this and where is this class with 5iyy? You can just move forward here.', 'start': 6077.134, 'duration': 7.267}, {'end': 6085.742, 'text': 'This is the class.', 'start': 6084.981, 'duration': 0.761}], 'summary': 'Finding div tag with class underscore 5iyy on facebook, then image tag with class image.', 'duration': 28.581, 'max_score': 6057.161, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE6057161.jpg'}, {'end': 7258.164, 'src': 'embed', 'start': 7230.072, 'weight': 4, 'content': [{'end': 7232.553, 'text': 'this is what the attribute and the value of it.', 'start': 7230.072, 'duration': 2.481}, {'end': 7237.554, 'text': 'So it is following the same syntax, tag name, attribute and the value.', 'start': 7233.553, 'duration': 4.001}, {'end': 7239.734, 'text': 'So for example, this is what.', 'start': 7238.134, 'duration': 1.6}, {'end': 7244.235, 'text': 'If you see the Facebook, input tag, id attribute.', 'start': 7240.794, 'duration': 3.441}, {'end': 7247.616, 'text': 'Right, that is one way of xpath.', 'start': 7245.776, 'duration': 1.84}, {'end': 7252.86, 'text': 'Also, you can create an XPath with the help of multiple attributes.', 'start': 7248.877, 'duration': 3.983}, {'end': 7258.164, 'text': 'Like in our previous example, we have used only one attribute to find an XPath.', 'start': 7253.601, 'duration': 4.563}], 'summary': 'Xpath can be created using tag name, attribute, and value, or multiple attributes.', 'duration': 28.092, 'max_score': 7230.072, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE7230072.jpg'}, {'end': 7309.903, 'src': 'embed', 'start': 7279.97, 'weight': 3, 'content': [{'end': 7293.573, 'text': 'uh, here you have a name attribute, so i can just continue within square bracket add symbol and the attribute is name equals to email.', 'start': 7279.97, 'duration': 13.603}, {'end': 7297.734, 'text': 'so you now this element would be identified with the help of two.', 'start': 7293.573, 'duration': 4.161}, {'end': 7304.236, 'text': 'when you put an enter key, you find here one matching node means one element is found from this application.', 'start': 7297.734, 'duration': 6.502}, {'end': 7309.903, 'text': 'So, with the help of multiple attributes also, you can find the create an xpath.', 'start': 7305.441, 'duration': 4.462}], 'summary': 'Using square brackets and attributes to create xpaths for element identification in an application.', 'duration': 29.933, 'max_score': 7279.97, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE7279970.jpg'}, {'end': 7633.543, 'src': 'embed', 'start': 7596.402, 'weight': 1, 'content': [{'end': 7603.206, 'text': "under that means this is a parent and under that you're looking for a child.", 'start': 7596.402, 'duration': 6.804}, {'end': 7606.568, 'text': 'so in this way also you can specify your see.', 'start': 7603.206, 'duration': 3.362}, {'end': 7614.173, 'text': "it is completely up to a tester in what way he's finding the web element.", 'start': 7606.568, 'duration': 7.605}, {'end': 7618.436, 'text': 'okay, so here these are the method.', 'start': 7614.173, 'duration': 4.263}, {'end': 7633.543, 'text': 'you can say symbols double slash asterisk, okay, square bracket, add symbol used for text identification or, okay, then slash colon comma.', 'start': 7618.436, 'duration': 15.107}], 'summary': "Testers can specify web elements using symbols like '//' and '[]' for text identification.", 'duration': 37.141, 'max_score': 7596.402, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE7596402.jpg'}, {'end': 7685.1, 'src': 'embed', 'start': 7655.314, 'weight': 0, 'content': [{'end': 7662.597, 'text': 'So what is the difference, exact difference between the two? Because XPath behaves differently in different browsers.', 'start': 7655.314, 'duration': 7.283}, {'end': 7668.179, 'text': 'So that is one advantage where you can prefer CSS,', 'start': 7663.257, 'duration': 4.922}, {'end': 7676.523, 'text': 'where it is faster in execution and does not change on different browsers as you keep on changing the browsers.', 'start': 7668.179, 'duration': 8.344}, {'end': 7685.1, 'text': 'Okay, so also you can see some more where you can see the explanation about the CSS selector.', 'start': 7677.699, 'duration': 7.401}], 'summary': 'Css is faster and more consistent than xpath in browser execution.', 'duration': 29.786, 'max_score': 7655.314, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE7655314.jpg'}, {'end': 7964.594, 'src': 'heatmap', 'start': 7762.378, 'weight': 1, 'content': [{'end': 7765.86, 'text': 'Hash is mainly used to identify the ID attribute.', 'start': 7762.378, 'duration': 3.482}, {'end': 7770.542, 'text': 'So hash and then the value of that locator.', 'start': 7766.62, 'duration': 3.922}, {'end': 7775.172, 'text': 'So for example, you have an ID is equal to email.', 'start': 7771.849, 'duration': 3.323}, {'end': 7782.498, 'text': 'So then you can make CSS as input is a tag name instead of ID you use hash and the value of it.', 'start': 7775.612, 'duration': 6.886}, {'end': 7789.284, 'text': 'So now the XPath you can say the path of by the CSS would be input hash and the value.', 'start': 7783.359, 'duration': 5.925}, {'end': 7795.309, 'text': 'This you can take as the input value for your locator CSS selector.', 'start': 7789.804, 'duration': 5.505}, {'end': 7799.052, 'text': 'Right and then you can pass the data to it.', 'start': 7796.57, 'duration': 2.482}, {'end': 7801.228, 'text': 'the same way.', 'start': 7800.407, 'duration': 0.821}, {'end': 7802.869, 'text': 'you have a class.', 'start': 7801.228, 'duration': 1.641}, {'end': 7806.971, 'text': 'now how to, based on a class, how to find an element.', 'start': 7802.869, 'duration': 4.102}, {'end': 7810.034, 'text': 'so the syntax for that would be the tag name.', 'start': 7806.971, 'duration': 3.063}, {'end': 7817.438, 'text': 'the class is identified with a dot right and then the value of the class attribute.', 'start': 7810.034, 'duration': 7.404}, {'end': 7819.78, 'text': 'okay, then the attribute itself.', 'start': 7817.438, 'duration': 2.342}, {'end': 7824.944, 'text': 'when you have any other attribute, how to inspect it, you can use the tag name.', 'start': 7819.78, 'duration': 5.164}, {'end': 7832.218, 'text': 'then, within square bracket, write the text attribute equals to and the value of the attribute.', 'start': 7824.944, 'duration': 7.274}, {'end': 7838.762, 'text': 'so, for example, here, if id or type, or you can say value, those are the attributes.', 'start': 7832.218, 'duration': 6.544}, {'end': 7845.386, 'text': 'so the particular attribute equals to and the value of it.', 'start': 7838.762, 'duration': 6.624}, {'end': 7847.808, 'text': 'okay, so in this way you can find it.', 'start': 7845.386, 'duration': 2.422}, {'end': 7850.85, 'text': 'also, you can use the starts with means.', 'start': 7847.808, 'duration': 3.042}, {'end': 7860.413, 'text': 'if you want to find an element starting with some text, then you can write here this is the, the tag name, the locator,', 'start': 7850.85, 'duration': 9.563}, {'end': 7864.435, 'text': 'and this appotent is known as an starts with.', 'start': 7860.413, 'duration': 4.022}, {'end': 7870.079, 'text': "that indicates a starts with and the string with what you're going to start with.", 'start': 7864.435, 'duration': 5.644}, {'end': 7872.24, 'text': "similarly, you'll find ends with.", 'start': 7870.079, 'duration': 2.161}, {'end': 7874.922, 'text': 'ends with is used with the dollar symbol.', 'start': 7872.24, 'duration': 2.682}, {'end': 7880.966, 'text': 'so id is ending with the value id, the text id.', 'start': 7874.922, 'duration': 6.044}, {'end': 7883.648, 'text': "so we'll just some see an example on this.", 'start': 7880.966, 'duration': 2.682}, {'end': 7888.279, 'text': "Let's go to the application.", 'start': 7885.838, 'duration': 2.441}, {'end': 7890.781, 'text': 'Inspect any element.', 'start': 7889.62, 'duration': 1.161}, {'end': 7902.507, 'text': 'And this is the HTML code for that element.', 'start': 7895.303, 'duration': 7.204}, {'end': 7910.612, 'text': 'And you see in the crow path already there is a relative xpath and absolute xpath and CSS selector.', 'start': 7903.348, 'duration': 7.264}, {'end': 7918.483, 'text': 'Now how is the CSS selector designed? So hash email is the CSS selector.', 'start': 7911.272, 'duration': 7.211}, {'end': 7921.046, 'text': 'ID, hash indicates ID.', 'start': 7919.264, 'duration': 1.782}, {'end': 7924.589, 'text': "See here if you inspect it manually, it's ID is equal to email.", 'start': 7921.326, 'duration': 3.263}, {'end': 7926.03, 'text': 'ID is email.', 'start': 7925.31, 'duration': 0.72}, {'end': 7931.095, 'text': 'So it is replacing ID with hash and the value of that is email.', 'start': 7926.651, 'duration': 4.444}, {'end': 7939.162, 'text': 'So I can take this element for inspecting the web element.', 'start': 7931.775, 'duration': 7.387}, {'end': 7940.303, 'text': 'So pop it.', 'start': 7939.523, 'duration': 0.78}, {'end': 7943.626, 'text': 'and when you are using any automation tool?', 'start': 7941.425, 'duration': 2.201}, {'end': 7950.528, 'text': 'just, for example, I am just writing here how do you specify it?', 'start': 7943.626, 'duration': 6.902}, {'end': 7959.472, 'text': 'so you find, when you are working in your own project, you find some locators or identification is done using CSS selector.', 'start': 7950.528, 'duration': 8.944}, {'end': 7964.594, 'text': 'so you will see here, driver.', 'start': 7959.472, 'duration': 5.122}], 'summary': 'Transcript explains how to use css selectors to locate elements using ids, classes, and other attributes.', 'duration': 202.216, 'max_score': 7762.378, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE7762378.jpg'}], 'start': 5711.591, 'title': 'Web element interaction in selenium webdriver', 'summary': 'Covers webdriver navigation methods like navigate, back, forward, refresh, and web element methods like findelement, sendkeys, clear, click, isenabled, isselected, isdisplayed in the context of a facebook application. it also discusses inspecting images, using xpath, css for web element identification, and html tags used for interacting with web elements.', 'chapters': [{'end': 6002.819, 'start': 5711.591, 'title': 'Webdriver navigation and web element methods', 'summary': 'Covers the usage of webdriver navigation methods like navigate, back, forward, refresh, and also explains the usage of web element methods like findelement, sendkeys, clear, click, isenabled, isselected, and isdisplayed in the context of a facebook application.', 'duration': 291.228, 'highlights': ['The chapter covers the usage of WebDriver navigation methods like navigate, back, forward, refresh. It explains the methods for navigating web pages and refreshing, highlighting the key WebDriver navigation methods.', 'Usage of web element methods like findElement, sendKeys, clear, click, isEnabled, isSelected, and isDisplayed. Explains the usage of various web element methods like findElement, sendKeys, clear, click, isEnabled, isSelected, and isDisplayed, providing a comprehensive overview of web element manipulation.', 'Clear method which can be used with a web element where it clears the content of the existing data in the web element. Introduces the clear method for web elements, allowing the clearing of existing data within the web element.']}, {'end': 6370.251, 'start': 6002.819, 'title': 'Inspecting image and element methods', 'summary': 'Discusses inspecting an image and using three different methods to interact with it, including creating an xpath, checking the status of the image, and using the clear method for entering and clearing data, demonstrating how to effectively interact with web elements.', 'duration': 367.432, 'highlights': ["The chapter emphasizes creating an XPath for the inspected image, providing a clear understanding of the element's location and attributes.", 'It explains the three different methods for interacting with the image, including checking its status using isDisplayed, isEnabled, and isSelected, each returning a boolean output.', 'The chapter demonstrates the usage of the clear method to remove existing data from an element and input new content, showcasing an effective way to manipulate web elements.']}, {'end': 6943.852, 'start': 6370.251, 'title': 'Html tags for web elements', 'summary': 'Discusses the various html tags used for identifying and interacting with web elements, such as a, b, table, tr, td, select, span, input, img, iframe, div, and form, and demonstrates how to inspect and interact with these elements using locators like name, class, tag name, link text, and partial link text.', 'duration': 573.601, 'highlights': ['The chapter discusses the various HTML tags used for identifying and interacting with web elements. The chapter covers the usage of HTML tags such as a, b, table, tr, td, select, span, input, img, iframe, div, form, etc.', 'Demonstrates how to inspect and interact with these elements using locators like name, class, tag name, link text, and partial link text. The transcript demonstrates the process of inspecting and interacting with web elements using various locators including name, class, tag name, link text, and partial link text.', 'Explains the process of inspecting and interacting with web elements using different locators and performing actions such as entering data and clicking on links. The transcript explains the process of inspecting and interacting with web elements using different locators and performing actions such as entering data and clicking on links to interact with web elements.']}, {'end': 7525.753, 'start': 6943.852, 'title': 'Using xpath in selenium webdriver', 'summary': 'Discusses how to use xpath in selenium webdriver to locate web elements, including details on creating absolute and relative xpath, using multiple attributes, and different syntaxes like or operator and starts with, to efficiently automate web elements.', 'duration': 581.901, 'highlights': ['The chapter explains the concept of XPath in Selenium Webdriver and how to use it to automate web elements, offering insights on creating absolute and relative XPath (with examples of parent and child elements) and using the Crow Path plugin to create XPath.', 'The section elaborates on creating relative XPath, emphasizing the syntax for locating web elements using attributes such as tag name and ID, and provides practical examples of using syntax to capture XPath for input tags with ID attributes.', 'The transcript details the process of creating XPath with multiple attributes, demonstrating the use of AND and OR operators to identify web elements based on attribute matches, along with examples of syntax for creating XPath with OR operator and asterisk for any tag name.', 'The chapter describes various syntaxes for locating web elements based on their text content, including using text equals to and contains to find elements with specific text, and demonstrates practical examples of capturing XPath for elements with specific text content.', 'The section provides insights into using syntaxes like contains and starts with to locate web elements based on partial text matches, offering practical examples and highlighting the efficiency of these syntaxes in finding elements with specific text content.']}, {'end': 8105.298, 'start': 7525.753, 'title': 'Css and xpath for web element identification', 'summary': 'Discusses the usage of css and xpath for web element identification in automation testing, highlighting the differences, advantages, and specific syntax, with css being faster and simpler, and xpath behaving differently in different browsers.', 'duration': 579.545, 'highlights': ['CSS is much faster and simpler than XPath, especially in IE browser automation. CSS is highlighted as being faster and simpler than XPath, particularly in IE browser automation, offering an advantage in terms of speed and simplicity.', 'CSS and XPath are used to find dynamic objects, with XPath behaving differently in different browsers. Both CSS and XPath are utilized for locating dynamic objects, with XPath exhibiting varied behavior across different browsers, emphasizing the usage of both for dynamic object identification.', 'Syntax for CSS includes tag name, ID, class, attribute, contains, starts with, and ends with for element identification. The syntax for CSS involves identifying elements using tag name, ID, class, attribute, contains, starts with, and ends with, providing a comprehensive range of options for element identification.', 'Cropath is a browser plugin useful for creating XPaths for web elements, and it is available for Firefox and Chrome. The Cropath browser plugin is mentioned as a tool for generating XPaths for web elements, available for Firefox and Chrome, indicating its utility in XPath creation.']}], 'duration': 2393.707, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE5711591.jpg', 'highlights': ['The chapter covers the usage of WebDriver navigation methods like navigate, back, forward, refresh, highlighting the key WebDriver navigation methods.', "The chapter emphasizes creating an XPath for the inspected image, providing a clear understanding of the element's location and attributes.", 'The chapter discusses the various HTML tags used for identifying and interacting with web elements, covering the usage of HTML tags such as a, b, table, tr, td, select, span, input, img, iframe, div, form, etc.', 'The chapter explains the concept of XPath in Selenium Webdriver and how to use it to automate web elements, offering insights on creating absolute and relative XPath (with examples of parent and child elements) and using the Cropath plugin to create XPath.', 'CSS is much faster and simpler than XPath, especially in IE browser automation.']}, {'end': 10015.663, 'segs': [{'end': 8264.387, 'src': 'embed', 'start': 8232.419, 'weight': 6, 'content': [{'end': 8241.063, 'text': 'so in the search, so i would enter some keyword to the search, for example phones, and i would click on the search button.', 'start': 8232.419, 'duration': 8.644}, {'end': 8248.235, 'text': 'it would display the Products and here on the right side you find us.', 'start': 8241.063, 'duration': 7.172}, {'end': 8251.498, 'text': 'so you can filter the products as well.', 'start': 8248.235, 'duration': 3.263}, {'end': 8255.18, 'text': 'Based on the specifications, you can filter it suppose.', 'start': 8251.498, 'duration': 3.682}, {'end': 8258.022, 'text': "I'm clicking on this option.", 'start': 8255.24, 'duration': 2.782}, {'end': 8264.387, 'text': "so, based on that filtration, you'll find the required products.", 'start': 8258.022, 'duration': 6.365}], 'summary': 'Search for products by keyword, filter by specifications, and find required products.', 'duration': 31.968, 'max_score': 8232.419, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE8232419.jpg'}, {'end': 8414.447, 'src': 'embed', 'start': 8315.343, 'weight': 0, 'content': [{'end': 8319.646, 'text': 'now you need to inspect the search bar where you enter the product.', 'start': 8315.343, 'duration': 4.303}, {'end': 8323.768, 'text': 'so right-click, inspect.', 'start': 8319.646, 'duration': 4.122}, {'end': 8329.59, 'text': 'so, based on the available locators, you need to find the element.', 'start': 8323.768, 'duration': 5.822}, {'end': 8348.853, 'text': 'So here it is an input tag having text ID value name.', 'start': 8343.57, 'duration': 5.283}, {'end': 8352.816, 'text': 'So I think ID will be find here to inspect it.', 'start': 8349.495, 'duration': 3.321}, {'end': 8357.18, 'text': 'So taking the ID value, say driver.find by .id.', 'start': 8353.057, 'duration': 4.123}, {'end': 8378.862, 'text': 'the value and we are going to send some keyword to it.', 'start': 8375.501, 'duration': 3.361}, {'end': 8381.224, 'text': 'so send keys, the data.', 'start': 8378.862, 'duration': 2.362}, {'end': 8385.585, 'text': 'the keyword is phones.', 'start': 8381.224, 'duration': 4.361}, {'end': 8390.949, 'text': "okay, after this you're going to click on this search button.", 'start': 8385.585, 'duration': 5.364}, {'end': 8396.952, 'text': 'so inspect this search.', 'start': 8390.949, 'duration': 6.003}, {'end': 8398.513, 'text': "it's an input tag.", 'start': 8396.952, 'duration': 1.561}, {'end': 8399.934, 'text': 'type is equal to submit.', 'start': 8398.513, 'duration': 1.421}, {'end': 8407.265, 'text': 'so you can create an xpath for this or directly take the type is equal to submit.', 'start': 8399.934, 'duration': 7.331}, {'end': 8412.087, 'text': 'here the xpath is value is equal to go.', 'start': 8407.265, 'duration': 4.822}, {'end': 8414.447, 'text': 'so the we are trying to inspect it.', 'start': 8412.087, 'duration': 2.36}], 'summary': "Inspect search bar, find element by id, send 'phones', click search button.", 'duration': 99.104, 'max_score': 8315.343, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE8315343.jpg'}, {'end': 8579.69, 'src': 'embed', 'start': 8524.638, 'weight': 3, 'content': [{'end': 8525.679, 'text': 'They are all together.', 'start': 8524.638, 'duration': 1.041}, {'end': 8531.562, 'text': 'Now I want to select on this 2 to 2.4 H Gigahertz.', 'start': 8526.439, 'duration': 5.123}, {'end': 8533.183, 'text': 'So this is that option.', 'start': 8532.123, 'duration': 1.06}, {'end': 8558.461, 'text': 'You can take an XPath of this this is the xpath and find the element and do a click action.', 'start': 8533.884, 'duration': 24.577}, {'end': 8567.727, 'text': 'so here we are just a driver.find by dot the xpath.', 'start': 8558.461, 'duration': 9.266}, {'end': 8573.495, 'text': 'This is the element which we are going to select.', 'start': 8571.369, 'duration': 2.126}, {'end': 8575.018, 'text': 'So dot click action.', 'start': 8573.735, 'duration': 1.283}, {'end': 8579.69, 'text': 'You can just run the code.', 'start': 8578.527, 'duration': 1.163}], 'summary': 'Select 2-2.4 ghz frequency and perform click action using xpath.', 'duration': 55.052, 'max_score': 8524.638, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE8524638.jpg'}, {'end': 8981.752, 'src': 'embed', 'start': 8924.326, 'weight': 5, 'content': [{'end': 8933.104, 'text': "it means the options, having the tag options and the values, that's a day, 1,, 2,, 3, 4 and so on.", 'start': 8924.326, 'duration': 8.778}, {'end': 8942.048, 'text': 'Okay, so now you need to inspect the selected tag and then select the values within it.', 'start': 8934.085, 'duration': 7.963}, {'end': 8948.571, 'text': 'So you can take, you can inspect this value based on ID, ID is equal to day.', 'start': 8943.829, 'duration': 4.742}, {'end': 8956.485, 'text': 'can take the day and find an element.', 'start': 8953.061, 'duration': 3.424}, {'end': 8981.752, 'text': 'initially. so driver dot, find dot, find element by dot.', 'start': 8956.485, 'duration': 25.267}], 'summary': 'Inspect and select options and values based on tags and ids.', 'duration': 57.426, 'max_score': 8924.326, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE8924326.jpg'}, {'end': 9567.019, 'src': 'heatmap', 'start': 9353.467, 'weight': 0.708, 'content': [{'end': 9365.532, 'text': "so we'll put it in a list list of web element.", 'start': 9353.467, 'duration': 12.065}, {'end': 9374.076, 'text': "you'll name that list as suppose dd import from java util.", 'start': 9365.532, 'duration': 8.544}, {'end': 9375.256, 'text': 'now you want to know total.', 'start': 9374.076, 'duration': 1.18}, {'end': 9378.478, 'text': 'how many values are there web elements in this dd?', 'start': 9375.256, 'duration': 3.222}, {'end': 9390.136, 'text': 'you can write this out dd dot size.', 'start': 9378.478, 'duration': 11.658}, {'end': 9392.217, 'text': 'that will display you the count.', 'start': 9390.136, 'duration': 2.081}, {'end': 9394.319, 'text': "okay, that's about the count.", 'start': 9392.217, 'duration': 2.102}, {'end': 9404.227, 'text': 'now, if i want to execute them in a for loop, so i can declare a for loop, declare a variable starting with zero and a condition where it should stop.', 'start': 9394.319, 'duration': 9.908}, {'end': 9406.248, 'text': 'it should stop at the size right.', 'start': 9404.227, 'duration': 2.021}, {'end': 9409.471, 'text': 'so this dd dot size itself is going to give the count.', 'start': 9406.248, 'duration': 3.223}, {'end': 9414.759, 'text': 'So you can pass it to a variable or use the variable else directly.', 'start': 9410.273, 'duration': 4.486}, {'end': 9416.881, 'text': 'You can say dd.size.', 'start': 9414.779, 'duration': 2.102}, {'end': 9423.429, 'text': 'That would give you the count of web elements to be moved on.', 'start': 9417.742, 'duration': 5.687}, {'end': 9426.493, 'text': 'Then keep on incrementing the loop.', 'start': 9424.17, 'duration': 2.323}, {'end': 9433.691, 'text': "Now when you're in the within the loop, what we have to do, you have to go to each option.", 'start': 9428.206, 'duration': 5.485}, {'end': 9436.653, 'text': 'You have to go to each option and get the value and display.', 'start': 9433.871, 'duration': 2.782}, {'end': 9437.915, 'text': 'Second option, get the value.', 'start': 9436.734, 'duration': 1.181}, {'end': 9441.398, 'text': "I won't click because if I click, this list would disappear.", 'start': 9438.015, 'duration': 3.383}, {'end': 9442.859, 'text': "So I won't click.", 'start': 9442.058, 'duration': 0.801}, {'end': 9444.901, 'text': "I'll just keep on next, next, next.", 'start': 9443.199, 'duration': 1.702}, {'end': 9446.822, 'text': "I'll take and try to display it.", 'start': 9444.981, 'duration': 1.841}, {'end': 9453.547, 'text': 'So, to get this value and try to display, we will be using a method getText, right.', 'start': 9447.683, 'duration': 5.864}, {'end': 9457.23, 'text': 'So, as this values, all values are present in this dd.', 'start': 9454.148, 'duration': 3.082}, {'end': 9467.017, 'text': 'So, dd.getTo a particular value as it is moving from the very first value that is 0 which is referred with y.', 'start': 9457.87, 'duration': 9.147}, {'end': 9470.239, 'text': 'So, getTo i and .getText.', 'start': 9467.017, 'duration': 3.222}, {'end': 9478.194, 'text': 'get text string output.', 'start': 9474.893, 'duration': 3.301}, {'end': 9484.095, 'text': 'so this string, you can display it.', 'start': 9478.194, 'duration': 5.901}, {'end': 9493.257, 'text': 'okay, and uh, suppose, if you want to click over it, click the, each and every.', 'start': 9484.095, 'duration': 9.162}, {'end': 9496.317, 'text': 'if i say click, it will just clicked.', 'start': 9493.257, 'duration': 3.06}, {'end': 9500.878, 'text': 'okay, that value gets clicked.', 'start': 9496.317, 'duration': 4.561}, {'end': 9510.94, 'text': 'suppose, if I say DD, dot, get of that I, and if I want, I can click.', 'start': 9503.558, 'duration': 7.382}, {'end': 9524.503, 'text': 'also, you can just run this.', 'start': 9510.94, 'duration': 13.563}, {'end': 9528.283, 'text': 'so you see, all the values are just click, got clicked.', 'start': 9524.503, 'duration': 3.78}, {'end': 9529.604, 'text': 'one, two, three, four.', 'start': 9528.283, 'duration': 1.321}, {'end': 9530.844, 'text': 'we can put some time period.', 'start': 9529.604, 'duration': 1.24}, {'end': 9539.082, 'text': 'okay, and you find the on the console also, they got displayed here.', 'start': 9532.017, 'duration': 7.065}, {'end': 9541.684, 'text': 'the count was there, total the.', 'start': 9539.082, 'duration': 2.602}, {'end': 9543.206, 'text': 'how many elements are there?', 'start': 9541.684, 'duration': 1.522}, {'end': 9545.527, 'text': '32. it starts with the day 1, 2, 3, 4 up till 31.', 'start': 9543.206, 'duration': 2.321}, {'end': 9554.154, 'text': 'okay, so this is how you can work with the, the drop-downs.', 'start': 9545.527, 'duration': 8.627}, {'end': 9558.417, 'text': "so let's understand how to work with radio buttons.", 'start': 9554.154, 'duration': 4.263}, {'end': 9567.019, 'text': 'because you find in some applications to select some gender or some options, you find radio buttons available.', 'start': 9558.417, 'duration': 8.602}], 'summary': 'The transcript covers working with web elements, demonstrating a process for counting, iterating, and accessing values in a web element list, with specific examples and quantifiable data such as 32 elements in a dropdown.', 'duration': 213.552, 'max_score': 9353.467, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE9353467.jpg'}, {'end': 9423.429, 'src': 'embed', 'start': 9394.319, 'weight': 4, 'content': [{'end': 9404.227, 'text': 'now, if i want to execute them in a for loop, so i can declare a for loop, declare a variable starting with zero and a condition where it should stop.', 'start': 9394.319, 'duration': 9.908}, {'end': 9406.248, 'text': 'it should stop at the size right.', 'start': 9404.227, 'duration': 2.021}, {'end': 9409.471, 'text': 'so this dd dot size itself is going to give the count.', 'start': 9406.248, 'duration': 3.223}, {'end': 9414.759, 'text': 'So you can pass it to a variable or use the variable else directly.', 'start': 9410.273, 'duration': 4.486}, {'end': 9416.881, 'text': 'You can say dd.size.', 'start': 9414.779, 'duration': 2.102}, {'end': 9423.429, 'text': 'That would give you the count of web elements to be moved on.', 'start': 9417.742, 'duration': 5.687}], 'summary': 'Executing a for loop to iterate through elements using dd.size as the count.', 'duration': 29.11, 'max_score': 9394.319, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE9394319.jpg'}, {'end': 9530.844, 'src': 'embed', 'start': 9484.095, 'weight': 8, 'content': [{'end': 9493.257, 'text': 'okay, and uh, suppose, if you want to click over it, click the, each and every.', 'start': 9484.095, 'duration': 9.162}, {'end': 9496.317, 'text': 'if i say click, it will just clicked.', 'start': 9493.257, 'duration': 3.06}, {'end': 9500.878, 'text': 'okay, that value gets clicked.', 'start': 9496.317, 'duration': 4.561}, {'end': 9510.94, 'text': 'suppose, if I say DD, dot, get of that I, and if I want, I can click.', 'start': 9503.558, 'duration': 7.382}, {'end': 9524.503, 'text': 'also, you can just run this.', 'start': 9510.94, 'duration': 13.563}, {'end': 9528.283, 'text': 'so you see, all the values are just click, got clicked.', 'start': 9524.503, 'duration': 3.78}, {'end': 9529.604, 'text': 'one, two, three, four.', 'start': 9528.283, 'duration': 1.321}, {'end': 9530.844, 'text': 'we can put some time period.', 'start': 9529.604, 'duration': 1.24}], 'summary': 'Instructions for clicking on values and running the process with quantifiable data of one, two, three, and four clicks.', 'duration': 46.749, 'max_score': 9484.095, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE9484095.jpg'}, {'end': 9679.647, 'src': 'embed', 'start': 9651.477, 'weight': 1, 'content': [{'end': 9657.761, 'text': 'As I move my mouse to the first span, it is selecting the female option from the application and the second one the male.', 'start': 9651.477, 'duration': 6.284}, {'end': 9664.106, 'text': 'And these two spans are placed under one more span here.', 'start': 9658.802, 'duration': 5.304}, {'end': 9665.377, 'text': 'having some class.', 'start': 9664.656, 'duration': 0.721}, {'end': 9666.818, 'text': "See I'm moving to this span here.", 'start': 9665.397, 'duration': 1.421}, {'end': 9671.501, 'text': 'The complete options of female and male are got selected.', 'start': 9667.418, 'duration': 4.083}, {'end': 9674.603, 'text': 'Under that two spans are there.', 'start': 9672.402, 'duration': 2.201}, {'end': 9678.026, 'text': 'Each span holding the radio and its label.', 'start': 9675.164, 'duration': 2.862}, {'end': 9679.647, 'text': "Hope that's clear.", 'start': 9679.026, 'duration': 0.621}], 'summary': 'Mouse selects female and male spans, under one span with radio and label.', 'duration': 28.17, 'max_score': 9651.477, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE9651477.jpg'}, {'end': 9869.671, 'src': 'embed', 'start': 9826.396, 'weight': 7, 'content': [{'end': 9841.039, 'text': "so by dot It's a name and here is the name of the value which we are inspecting, and the output of this method is nothing but a list.", 'start': 9826.396, 'duration': 14.643}, {'end': 9849.965, 'text': 'I would store it into you can say gender is the variable name.', 'start': 9841.059, 'duration': 8.906}, {'end': 9857.55, 'text': "As this variable is having many values that's a list and the list is holding web elements.", 'start': 9851.105, 'duration': 6.445}, {'end': 9863.449, 'text': 'Okay, web element.', 'start': 9861.368, 'duration': 2.081}, {'end': 9869.671, 'text': 'Now import the web element and import the list also.', 'start': 9865.109, 'duration': 4.562}], 'summary': 'The method outputs a list of web elements.', 'duration': 43.275, 'max_score': 9826.396, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE9826396.jpg'}], 'start': 8106.53, 'title': 'Automating web element selection', 'summary': 'Demonstrates automating web element selection, including interacting with dropdowns and filter options using xpath and selenium, selecting options by index, value, and visible text, and iterating through all options in a dropdown list.', 'chapters': [{'end': 8198.302, 'start': 8106.53, 'title': 'Using crow path for xpath and css', 'summary': 'Explains how to use crow path to find xpath and css for inspecting elements, allowing users to obtain relative xpath, absolute xpath, and css for automation.', 'duration': 91.772, 'highlights': ['Users can find the Crow Path while inspecting elements by clicking on the arrows and selecting Crow Path, providing selectors for the inspected element and the ability to obtain relative XPath, absolute XPath, and CSS. Finding Crow Path while inspecting elements, obtaining selectors for the inspected element, obtaining relative XPath, absolute XPath, and CSS', 'Crow Path allows users to obtain the selected XPath and the CSS of the inspected element, enabling the creation of XPaths and automation of checkboxes. Obtaining selected XPath and CSS, automation of checkboxes']}, {'end': 8489.976, 'start': 8199.563, 'title': 'Automating checkbox in amazon', 'summary': 'Discusses automating the checkbox functionality in amazon by entering a product, clicking search, and applying filtration through checkboxes, with a demonstration of using locators and methods for automation.', 'duration': 290.413, 'highlights': ['Demonstration of automating checkbox functionality in Amazon The chapter discusses the process of automating the checkbox functionality in Amazon, including entering a product, clicking search, and applying filtration through checkboxes.', 'Usage of locators and methods for automation The transcript explains the usage of locators and methods for automation, such as finding elements using ID value, creating xpaths, and handling time delays using thread.sleep.', 'Explanation of inspecting elements in the application The transcript provides a step-by-step explanation of inspecting elements in the Amazon application, including the search bar and the search button, using locators and identifying elements by their type and attributes.']}, {'end': 9530.844, 'start': 8489.976, 'title': 'Automating web element selection', 'summary': 'Demonstrates how to find and interact with web elements such as dropdowns and filter options using xpath and selenium, including selecting options by index, value, and visible text, and iterating through all options in a dropdown list.', 'duration': 1040.868, 'highlights': ['Demonstrating how to select options from a dropdown list using Selenium and XPath The chapter explains how to use Selenium and XPath to select options from a dropdown list, including demonstrating the process of finding the element, creating a new Select object, and selecting options by index, value, and visible text.', "Iterating through all options in a dropdown list and displaying their values The chapter illustrates how to iterate through all options in a dropdown list, collect their values into a list, and use a for loop to display each option's value, without clicking on the options to avoid making the list disappear.", 'Explaining the process of inspecting and interacting with web elements using Selenium The transcript provides a detailed explanation of inspecting web elements, finding their attributes, and interacting with them using Selenium, including right-clicking to inspect elements, finding element attributes such as ID, class, and name, and interacting with elements using methods like getText and click.']}, {'end': 9709.477, 'start': 9532.017, 'title': 'Working with dropdowns and radio buttons', 'summary': 'Covers working with dropdowns and radio buttons, explaining the attributes and inspection process, with an example of 32 elements in a dropdown and the grouping of radio buttons with specific attributes.', 'duration': 177.46, 'highlights': ['The dropdown contains 32 elements, starting from day 1 to day 31, and the count and total are displayed on the console.', 'Explanation of radio buttons and their grouping, such as on Facebook where gender selection is a typical example, with insight into inspecting attributes and the relationship between radio buttons and their labels.', 'Detailed explanation of the attributes of the radio buttons and their labels, including the type, name, value, and ID, as well as the hierarchical structure of spans containing the radio buttons and labels.']}, {'end': 10015.663, 'start': 9710.197, 'title': 'Automating radio button selection', 'summary': 'Covers automating the selection of radio buttons in a web application using selenium webdriver and java, including finding multiple elements by attribute, obtaining element count, and implementing a for loop for selection.', 'duration': 305.466, 'highlights': ['Automating the selection of radio buttons in a web application using Selenium WebDriver and Java The chapter discusses the process of automating the selection of radio buttons in a web application using Selenium WebDriver and Java.', 'Finding multiple elements by attribute and storing them into a list The transcript explains using Selenium WebDriver to find multiple elements by a specific attribute and storing them into a list, enabling the identification of web elements based on the attribute value.', "Obtaining the count of web elements in the list It details the method for obtaining the count of web elements in the list using the 'size' method, providing a quantifiable measure of the number of elements found.", 'Implementing a for loop for selection of radio buttons The chapter includes the implementation of a for loop in Java to iterate through the list of web elements and select radio buttons based on certain conditions, providing a systematic approach for automation.']}], 'duration': 1909.133, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE8106530.jpg', 'highlights': ['Demonstrating how to select options from a dropdown list using Selenium and XPath, including finding the element, creating a new Select object, and selecting options by index, value, and visible text.', 'Automating the selection of radio buttons in a web application using Selenium WebDriver and Java.', 'Usage of locators and methods for automation, such as finding elements using ID value, creating xpaths, and handling time delays using thread.sleep.', 'Detailed explanation of inspecting web elements, finding their attributes, and interacting with them using Selenium, including right-clicking to inspect elements, finding element attributes such as ID, class, and name, and interacting with elements using methods like getText and click.', 'Finding multiple elements by attribute and storing them into a list using Selenium WebDriver, enabling the identification of web elements based on the attribute value.', "Iterating through all options in a dropdown list, collecting their values into a list, and using a for loop to display each option's value, without clicking on the options to avoid making the list disappear.", 'Explanation of radio buttons and their grouping, such as on Facebook where gender selection is a typical example, with insight into inspecting attributes and the relationship between radio buttons and their labels.', 'The dropdown contains 32 elements, starting from day 1 to day 31, and the count and total are displayed on the console.', "Obtaining the count of web elements in the list using the 'size' method, providing a quantifiable measure of the number of elements found.", 'Implementing a for loop in Java to iterate through the list of web elements and select radio buttons based on certain conditions, providing a systematic approach for automation.']}, {'end': 10927.41, 'segs': [{'end': 10191.072, 'src': 'embed', 'start': 10151.256, 'weight': 0, 'content': [{'end': 10156.178, 'text': 'first female will be selected because and then male.', 'start': 10151.256, 'duration': 4.922}, {'end': 10159.08, 'text': 'after that count is over, all the web elements are done.', 'start': 10156.178, 'duration': 2.902}, {'end': 10160.941, 'text': 'it stops the looping.', 'start': 10159.08, 'duration': 1.861}, {'end': 10168.125, 'text': 'so you can observe here the male and female first female wait period, then male done.', 'start': 10160.941, 'duration': 7.184}, {'end': 10174.729, 'text': 'ok, and if you observe the here, this is your.', 'start': 10168.125, 'duration': 6.604}, {'end': 10186.148, 'text': 'Okay. so this is how you can use the for loop.', 'start': 10180.683, 'duration': 5.465}, {'end': 10191.072, 'text': 'Web alerts which you also find window alerts as well.', 'start': 10187.008, 'duration': 4.064}], 'summary': 'The process selects the first female, then male, and stops looping, demonstrating the use of a for loop.', 'duration': 39.816, 'max_score': 10151.256, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE10151256.jpg'}, {'end': 10364.73, 'src': 'heatmap', 'start': 10151.256, 'weight': 0.824, 'content': [{'end': 10156.178, 'text': 'first female will be selected because and then male.', 'start': 10151.256, 'duration': 4.922}, {'end': 10159.08, 'text': 'after that count is over, all the web elements are done.', 'start': 10156.178, 'duration': 2.902}, {'end': 10160.941, 'text': 'it stops the looping.', 'start': 10159.08, 'duration': 1.861}, {'end': 10168.125, 'text': 'so you can observe here the male and female first female wait period, then male done.', 'start': 10160.941, 'duration': 7.184}, {'end': 10174.729, 'text': 'ok, and if you observe the here, this is your.', 'start': 10168.125, 'duration': 6.604}, {'end': 10186.148, 'text': 'Okay. so this is how you can use the for loop.', 'start': 10180.683, 'duration': 5.465}, {'end': 10191.072, 'text': 'Web alerts which you also find window alerts as well.', 'start': 10187.008, 'duration': 4.064}, {'end': 10198.198, 'text': 'And to handle these alerts, we are going to use the following methods which to accept and dismiss.', 'start': 10191.952, 'duration': 6.246}, {'end': 10209.359, 'text': "So alerts are something like a pop-up which are appearing on your applications or desktop when you're handling any of the tools or uploading files.", 'start': 10199.335, 'duration': 10.024}, {'end': 10217.662, 'text': 'So those are nothing but alerts or pop-ups where you find some acceptance or cancellation options along with it.', 'start': 10210.019, 'duration': 7.643}, {'end': 10223.185, 'text': 'So coming to the alerts, there are two types, web alerts and window alerts.', 'start': 10219.363, 'duration': 3.822}, {'end': 10230.627, 'text': "The pop-ups or alerts you find when you're working with web application, they are termed as web alerts.", 'start': 10224.079, 'duration': 6.548}, {'end': 10240.258, 'text': 'And the same notifications when you find using some Windows application, uploading files sort of thing, they are known as window alerts.', 'start': 10231.167, 'duration': 9.091}, {'end': 10247.145, 'text': "now here, but the window alerts can't be handled with selenium webdriver.", 'start': 10242.082, 'duration': 5.063}, {'end': 10254.709, 'text': "you need to use different tools for it autoit or sql, sort of thing that we'll be discussing later.", 'start': 10247.145, 'duration': 7.564}, {'end': 10259.131, 'text': "so today in this session we'll be working with web alerts.", 'start': 10254.709, 'duration': 4.422}, {'end': 10262.818, 'text': "So we're working with web alerts.", 'start': 10260.717, 'duration': 2.101}, {'end': 10271.4, 'text': 'We need to use a method that is a switch to because you need to switch your control from your application to the pop up.', 'start': 10263.678, 'duration': 7.722}, {'end': 10272.98, 'text': 'So this method will help us.', 'start': 10271.54, 'duration': 1.44}, {'end': 10276.401, 'text': 'Then you need to perform certain operations over it.', 'start': 10273.82, 'duration': 2.581}, {'end': 10285.643, 'text': 'The reason is because on the alert there you find two options either accepting or ignoring or dismiss.', 'start': 10276.941, 'duration': 8.702}, {'end': 10290.305, 'text': 'so a method to accept or click ok is nothing,', 'start': 10286.604, 'duration': 3.701}, {'end': 10304.791, 'text': "but accept method it's equivalent to clicking on the ok button and dismiss is a method which is helpful for clicking or the cancel button over the notification.", 'start': 10290.305, 'duration': 14.486}, {'end': 10307.832, 'text': 'but in some others you find only one option ok.', 'start': 10304.791, 'duration': 3.041}, {'end': 10318.355, 'text': 'so in that case you can use either method, that is dismiss or accept, and also you find some text is displayed over the popup.', 'start': 10307.832, 'duration': 10.523}, {'end': 10329.861, 'text': 'if you want to get the text, you can use the method getText and also you can, if you want to enter some data to the fields available over the popups,', 'start': 10318.355, 'duration': 11.506}, {'end': 10334.444, 'text': 'we can use send keys method to send the data.', 'start': 10329.861, 'duration': 4.583}, {'end': 10339.286, 'text': "so let's see an example practical aspect of it.", 'start': 10334.444, 'duration': 4.842}, {'end': 10342.615, 'text': 'so we are just creating a new package.', 'start': 10339.286, 'duration': 3.329}, {'end': 10364.73, 'text': "let's create a new package here.", 'start': 10342.615, 'duration': 22.115}], 'summary': 'Handling web alerts using switch to method and accept/dismiss options.', 'duration': 213.474, 'max_score': 10151.256, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE10151256.jpg'}], 'start': 10016.023, 'title': 'Automating radio button clicking and handling alerts in selenium', 'summary': 'Covers automating radio button clicking with a for loop and a wait time of 1000 milliseconds, resulting in the selection of the female and male radio buttons, and discusses handling various types of alerts in selenium, emphasizing web alerts, methods to handle them, and practical application of alert handling with examples.', 'chapters': [{'end': 10191.072, 'start': 10016.023, 'title': 'Automated radio button clicking', 'summary': 'Explains the process of automating the clicking and text retrieval from radio buttons using a for loop, with a wait time of 1000 milliseconds between each iteration, resulting in the selection of the female radio button first and then the male radio button.', 'duration': 175.049, 'highlights': ['The process involves using a for loop to iterate through the web elements, with a wait time of 1000 milliseconds between each iteration. The wait time of 1000 milliseconds is quantifiable and demonstrates the efficiency of the automation process.', 'The for loop is used to first identify and click on the female radio button, retrieve its text, and then click on it again. This highlights the specific steps involved in automating the clicking and text retrieval from the radio buttons.', 'The explanation includes the use of exception handling, specifically the thread dot sleep method, to wait for a certain time period before proceeding to the next looping. Demonstrates the inclusion of exception handling to ensure smooth execution of the automation process.']}, {'end': 10339.286, 'start': 10191.952, 'title': 'Handling alerts in selenium', 'summary': 'Discusses handling alerts in selenium, covering the types of alerts, methods to handle them, and operations that can be performed, and emphasizes on web alerts, and the methods to accept, dismiss, get text, and send keys, while also mentioning the inability to handle window alerts with selenium webdriver.', 'duration': 147.334, 'highlights': ['The chapter discusses two types of alerts - web alerts and window alerts, and emphasizes on the inability to handle window alerts with Selenium webdriver.', 'The methods to handle alerts include switch to, accept, dismiss, getText, and send keys, enabling performing operations like accepting, dismissing, getting text, and sending data to the fields available over the popups.', 'The importance of using specific tools like autoit or sql for handling window alerts is mentioned, indicating the need for alternative tools to handle window alerts.']}, {'end': 10530.487, 'start': 10339.286, 'title': 'Handling alerts in selenium', 'summary': 'Covers creating a new package and class for alert handling in selenium, using examples from redbuzz.in and ksrtc.com, and includes details on identifying and handling pop-ups and alerts, as well as inspecting elements.', 'duration': 191.201, 'highlights': ['The chapter covers creating a new package and class for alert handling in Selenium, using examples from redbuzz.in and ksrtc.com.', 'Details on identifying and handling pop-ups and alerts, as well as inspecting elements, are provided.', 'The process of clicking on the search bus button after logging in and inspecting its attributes is explained.']}, {'end': 10927.41, 'start': 10536.012, 'title': 'Handling alerts and popups in selenium', 'summary': 'Discusses handling alerts and popups in selenium, covering methods for switching to alerts, getting text from alerts, clicking on buttons within alerts, and validating alert text, with a focus on practical application and code execution.', 'duration': 391.398, 'highlights': ['The chapter provides a detailed explanation of handling alerts and popups in Selenium, including methods for switching to alerts, getting text from alerts, clicking on buttons within alerts, and validating alert text.', "It emphasizes the use of 'switch to' method to navigate to the alert and covers the practical application of accepting or dismissing alerts based on the displayed text.", 'It highlights the importance of validating the alert text before taking action, using if conditions and string comparison methods to ensure accurate handling of alerts.', 'The chapter also addresses the need to handle exceptions and close the browser after completing the alert handling process.']}], 'duration': 911.387, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE10016023.jpg', 'highlights': ['The process involves using a for loop to iterate through the web elements, with a wait time of 1000 milliseconds between each iteration. The wait time of 1000 milliseconds is quantifiable and demonstrates the efficiency of the automation process.', 'The chapter provides a detailed explanation of handling alerts and popups in Selenium, including methods for switching to alerts, getting text from alerts, clicking on buttons within alerts, and validating alert text.', 'The methods to handle alerts include switch to, accept, dismiss, getText, and send keys, enabling performing operations like accepting, dismissing, getting text, and sending data to the fields available over the popups.', 'The chapter covers creating a new package and class for alert handling in Selenium, using examples from redbuzz.in and ksrtc.com.']}, {'end': 14127.028, 'segs': [{'end': 11158.087, 'src': 'heatmap', 'start': 10948.818, 'weight': 0.719, 'content': [{'end': 10958.501, 'text': 'You can find an XPath based on the preceding web elements, ancestors, parent, the child, the following, right? The siblings.', 'start': 10948.818, 'duration': 9.683}, {'end': 10963.003, 'text': 'These are the different XPath options or types available.', 'start': 10959.022, 'duration': 3.981}, {'end': 10969.457, 'text': "So we'll discuss each one like what is meant by preceding.", 'start': 10965.495, 'duration': 3.962}, {'end': 10973.12, 'text': 'So preceding is nothing,', 'start': 10971.178, 'duration': 1.942}, {'end': 10985.127, 'text': 'but this is one approach where you can find the all the web elements before the current web element or the before the current node.', 'start': 10973.12, 'duration': 12.007}, {'end': 10993.212, 'text': 'So before preceding all the before web elements before the current web element that you can find using preceding.', 'start': 10986.288, 'duration': 6.924}, {'end': 11002.954, 'text': 'So the syntax would be whatever your XPath of your current element and you need to specify preceding and the colons and asterisk.', 'start': 10994.147, 'duration': 8.807}, {'end': 11007.057, 'text': 'Asterisk will give you all the preceding web elements before that.', 'start': 11003.154, 'duration': 3.903}, {'end': 11010.799, 'text': 'Okay, similarly ancestor.', 'start': 11008.838, 'duration': 1.961}, {'end': 11019.005, 'text': 'Ancestor is something where you can find all the parents and grandparents of the current tag, all the ancestors.', 'start': 11011.28, 'duration': 7.725}, {'end': 11022.488, 'text': 'Okay, and this is the following syntax to it.', 'start': 11020.126, 'duration': 2.362}, {'end': 11028.352, 'text': 'Then you can see the just adjacent parent to the current node.', 'start': 11024.09, 'duration': 4.262}, {'end': 11032.313, 'text': 'You can get it with the parent ancestor.', 'start': 11028.552, 'duration': 3.761}, {'end': 11034.334, 'text': 'You can see the X path axis.', 'start': 11032.353, 'duration': 1.981}, {'end': 11040.937, 'text': 'Preceding siblings means just the siblings of the current node.', 'start': 11035.495, 'duration': 5.442}, {'end': 11045.639, 'text': 'Not all the ancestors within the graph within the parent node.', 'start': 11041.637, 'duration': 4.002}, {'end': 11051.021, 'text': 'All the siblings before your current sibling you can find with this sibling.', 'start': 11045.779, 'duration': 5.242}, {'end': 11053.702, 'text': 'You can say the preceding siblings.', 'start': 11051.921, 'duration': 1.781}, {'end': 11062.874, 'text': 'The child, this is used to find all the child nodes of the parent identified node.', 'start': 11055.751, 'duration': 7.123}, {'end': 11067.297, 'text': 'Here you have a descendant.', 'start': 11065.376, 'duration': 1.921}, {'end': 11073.539, 'text': 'So all this will use it or will find it when practically demonstrated.', 'start': 11068.417, 'duration': 5.122}, {'end': 11079.542, 'text': 'Followings, followings are something if you want to check or find.', 'start': 11074.56, 'duration': 4.982}, {'end': 11083.804, 'text': 'All the you can say.', 'start': 11079.562, 'duration': 4.242}, {'end': 11088.681, 'text': 'the current.', 'start': 11088.081, 'duration': 0.6}, {'end': 11098.324, 'text': 'whatever the current node you have found, you want to see all the following web elements to it after the ending of the current web element,', 'start': 11088.681, 'duration': 9.643}, {'end': 11105.126, 'text': 'you want to see all the following web elements nodes you can use this following in that, following siblings,', 'start': 11098.324, 'duration': 6.802}, {'end': 11110.237, 'text': 'you have returns all the siblings after the tag of the current node.', 'start': 11105.126, 'duration': 5.111}, {'end': 11117.283, 'text': 'once you close the tag, whatever the siblings are there, following siblings it will identify.', 'start': 11110.237, 'duration': 7.046}, {'end': 11128.773, 'text': 'so in this manner we will be understanding these how to find these experts so you can go to any application now i want to find.', 'start': 11117.283, 'duration': 11.49}, {'end': 11141.662, 'text': "so let's inspect this web element Now.", 'start': 11128.773, 'duration': 12.889}, {'end': 11144.183, 'text': 'this is the locators of the current web element.', 'start': 11141.662, 'duration': 2.521}, {'end': 11145.644, 'text': "Let's go to the crew path.", 'start': 11144.263, 'duration': 1.381}, {'end': 11158.087, 'text': 'And this is the relative xpath and the absolute xpath.', 'start': 11155.447, 'duration': 2.64}], 'summary': 'The transcript explains different xpath options like preceding, ancestor, following, siblings, and child nodes.', 'duration': 209.269, 'max_score': 10948.818, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE10948818.jpg'}, {'end': 11578.809, 'src': 'embed', 'start': 11549.286, 'weight': 13, 'content': [{'end': 11560.29, 'text': 'So in case whenever you inspect any element and you want to move the control to a particular web element, you can use this method, move to element.', 'start': 11549.286, 'duration': 11.004}, {'end': 11563.351, 'text': 'Move to the element which is already inspected.', 'start': 11560.91, 'duration': 2.441}, {'end': 11568.213, 'text': 'So before using this method, we need to create an object for the actions class.', 'start': 11564.271, 'duration': 3.942}, {'end': 11578.809, 'text': 'The class name, object, new actions and pass the driver instance to which the application is being referred.', 'start': 11569.333, 'duration': 9.476}], 'summary': "Use 'move to element' method to control web elements after creating actions class object.", 'duration': 29.523, 'max_score': 11549.286, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE11549286.jpg'}, {'end': 12076.501, 'src': 'embed', 'start': 12041.839, 'weight': 10, 'content': [{'end': 12049.182, 'text': 'so this is one action and also, similarly, moving to that web element, sending data, and you have to execute these two steps again.', 'start': 12041.839, 'duration': 7.343}, {'end': 12066.773, 'text': 'so dot, build and dot perform the same way here dot, build and perform.', 'start': 12049.182, 'duration': 17.591}, {'end': 12071.077, 'text': 'okay, so this is what is our uh automation we have done.', 'start': 12066.773, 'duration': 4.304}, {'end': 12076.501, 'text': "let's execute and check whether it is going to the respective web elements and doing the actions.", 'start': 12071.077, 'duration': 5.424}], 'summary': 'Automation involves executing actions on web elements multiple times.', 'duration': 34.662, 'max_score': 12041.839, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE12041839.jpg'}, {'end': 12509.321, 'src': 'embed', 'start': 12449.412, 'weight': 7, 'content': [{'end': 12473.643, 'text': 'So going to the Eclipse, create a new class with a main method and first we need to inspect the sign in.', 'start': 12449.412, 'duration': 24.231}, {'end': 12484.252, 'text': 'this is the link.', 'start': 12482.33, 'duration': 1.922}, {'end': 12487.315, 'text': "this is this pan is something you're signing.", 'start': 12484.252, 'duration': 3.063}, {'end': 12495.644, 'text': 'okay, you can take the text over the link or you can also go with the xpath.', 'start': 12487.315, 'duration': 8.329}, {'end': 12497.166, 'text': 'this is xpath.', 'start': 12495.644, 'duration': 1.522}, {'end': 12501.691, 'text': 'so i will take this xpath and find the element initially.', 'start': 12497.166, 'duration': 4.525}, {'end': 12509.321, 'text': 'so driver dot, find by dot index.', 'start': 12501.691, 'duration': 7.63}], 'summary': 'Using eclipse, inspect and find element using xpath for sign in.', 'duration': 59.909, 'max_score': 12449.412, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE12449412.jpg'}, {'end': 12690.618, 'src': 'embed', 'start': 12659.557, 'weight': 11, 'content': [{'end': 12662.9, 'text': 'you can move to the element and do the context click.', 'start': 12659.557, 'duration': 3.343}, {'end': 12667.081, 'text': "So we'll see practically how to implement.", 'start': 12663.959, 'duration': 3.122}, {'end': 12673.886, 'text': 'So the same Amazon application we can take as we have executed in a previous example.', 'start': 12668.142, 'duration': 5.744}, {'end': 12678.429, 'text': 'I would go to this element, move to this element and do a right click.', 'start': 12674.406, 'duration': 4.023}, {'end': 12680.13, 'text': 'Okay, this is a right click.', 'start': 12679.11, 'duration': 1.02}, {'end': 12684.153, 'text': 'So instead of creating a class, we can edit here itself.', 'start': 12681.071, 'duration': 3.082}, {'end': 12685.614, 'text': 'I can use here.', 'start': 12684.573, 'duration': 1.041}, {'end': 12690.618, 'text': 'Already we have inspected a sign in option and a ACT object.', 'start': 12686.335, 'duration': 4.283}], 'summary': 'Demonstrating how to perform a right click on an element in the amazon application, without creating a class, by using previously inspected elements.', 'duration': 31.061, 'max_score': 12659.557, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE12659557.jpg'}, {'end': 12842.436, 'src': 'embed', 'start': 12792.918, 'weight': 4, 'content': [{'end': 12805.185, 'text': "so context click on this you can directly perform as well, because we don't have any many actions to be executed.", 'start': 12792.918, 'duration': 12.267}, {'end': 12807.847, 'text': 'only context click and then you have to just execute.', 'start': 12805.185, 'duration': 2.662}, {'end': 12809.108, 'text': 'so no need of build.', 'start': 12807.847, 'duration': 1.261}, {'end': 12812.771, 'text': 'so this also will execute the same actions method.', 'start': 12809.108, 'duration': 3.663}, {'end': 12814.352, 'text': "that's a dragging and dropping.", 'start': 12812.771, 'duration': 1.581}, {'end': 12820.717, 'text': "so this method implementation, this functionality, can't be implemented with a simple webdriver method.", 'start': 12814.352, 'duration': 6.365}, {'end': 12822.919, 'text': 'so we use the actions method.', 'start': 12820.717, 'duration': 2.202}, {'end': 12824.18, 'text': "that's a dragging and dropping.", 'start': 12822.919, 'duration': 1.261}, {'end': 12830.325, 'text': 'so where you want to drag one particular web element and drop in some other location, you can.', 'start': 12824.62, 'duration': 5.705}, {'end': 12831.967, 'text': 'we can go for this method.', 'start': 12830.325, 'duration': 1.642}, {'end': 12834.509, 'text': 'the syntax can be drag and drop.', 'start': 12831.967, 'duration': 2.542}, {'end': 12842.436, 'text': 'you need to specify the location the element to be picked and dropped with the help of actions class object.', 'start': 12834.509, 'duration': 7.927}], 'summary': 'Using the actions method for dragging and dropping elements, as a simpler alternative to build and execute.', 'duration': 49.518, 'max_score': 12792.918, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE12792918.jpg'}, {'end': 13192.406, 'src': 'embed', 'start': 13150.413, 'weight': 0, 'content': [{'end': 13151.874, 'text': 'So two elements we have found.', 'start': 13150.413, 'duration': 1.461}, {'end': 13154.815, 'text': 'Now we have to just create an actions class here.', 'start': 13151.914, 'duration': 2.901}, {'end': 13163.578, 'text': 'New actions where driver instance will be passed.', 'start': 13159.817, 'duration': 3.761}, {'end': 13167.82, 'text': 'Import the actions class.', 'start': 13166.639, 'duration': 1.181}, {'end': 13171.481, 'text': 'Now this using the ACT object.', 'start': 13169.4, 'duration': 2.081}, {'end': 13178.904, 'text': 'We have a method known as drag and drop the source and to the destination.', 'start': 13174.262, 'duration': 4.642}, {'end': 13183.237, 'text': 'the source src and the target.', 'start': 13179.833, 'duration': 3.404}, {'end': 13188.742, 'text': 'so after dragging and dropping, we want to perform.', 'start': 13183.237, 'duration': 5.505}, {'end': 13189.483, 'text': "it's executed.", 'start': 13188.742, 'duration': 0.741}, {'end': 13192.406, 'text': 'you can just run the code.', 'start': 13189.483, 'duration': 2.923}], 'summary': 'Creating an actions class to perform drag and drop using the driver instance and act object.', 'duration': 41.993, 'max_score': 13150.413, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE13150413.jpg'}, {'end': 13421.466, 'src': 'embed', 'start': 13244.783, 'weight': 1, 'content': [{'end': 13246.944, 'text': 'Going ahead for validation.', 'start': 13244.783, 'duration': 2.161}, {'end': 13266.256, 'text': 'I would say that if, If the text over the destination, the web of the web element, is TGT, target, TGT dot, get text, get text.', 'start': 13248.244, 'duration': 18.012}, {'end': 13274.378, 'text': 'if the text present on the target web element, if it is equal to, or you can say contains or matches anything,', 'start': 13266.256, 'duration': 8.122}, {'end': 13279.14, 'text': 'you can take matches with our dropped with exclamatory.', 'start': 13274.378, 'duration': 4.762}, {'end': 13296.706, 'text': 'if true, then we can display some statements is out saying successfully dropped, so that you can validate it.', 'start': 13279.14, 'duration': 17.566}, {'end': 13412.257, 'text': 'so now it has to identify the frame and stop executing no details about it but execution has been stopped dropped and verified.', 'start': 13363.433, 'duration': 48.824}, {'end': 13415.4, 'text': "And you'll see the successfully dropped text message.", 'start': 13412.818, 'duration': 2.582}, {'end': 13421.466, 'text': 'So this is how you can drag an element from one location to another.', 'start': 13417.202, 'duration': 4.264}], 'summary': "Validate if the text on the web element is 'tgt', display 'successfully dropped'.", 'duration': 176.683, 'max_score': 13244.783, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE13244783.jpg'}], 'start': 10927.43, 'title': 'Web automation techniques', 'summary': 'Covers xpath access, web element locators, actions class in selenium, automating drag and drop, keyboard actions, and reading properties files. it includes practical applications, 32 children in a dropdown element, and methods like move to element, click, double click, right click, context click, and dragging and dropping.', 'chapters': [{'end': 11277.542, 'start': 10927.43, 'title': 'Xpath and web element locators', 'summary': 'Discusses xpath access and different types of xpath options available, such as preceding, ancestor, following, siblings, child, and descendant, explaining their syntax and practical applications in web automation.', 'duration': 350.112, 'highlights': ['The chapter discusses different types of XPath options available, such as preceding, ancestor, following, siblings, child, and descendant. The transcript covers various types of XPath options, providing a comprehensive overview of the different approaches to finding XPath for web elements.', 'Ancestor is an approach to finding all the parents and grandparents of the current tag, all the ancestors. The concept of ancestor in XPath is explained, highlighting its function of identifying parents and grandparents of the current tag.', 'The chapter explains the use of XPath axis like preceding, following, and following siblings to navigate web elements. Detailed explanations are provided for XPath axis like preceding, following, and following siblings, showcasing their utility in navigating web elements.', 'Practical demonstration is mentioned for understanding the usage of different XPath options. The transcript emphasizes the practical demonstration for understanding the application of various XPath options in web automation.']}, {'end': 12009.739, 'start': 11277.542, 'title': 'Xpath and actions class in selenium', 'summary': 'Discusses xpath usage to find sub-elements, with 32 children in a dropdown element, and the actions class in selenium webdriver, which includes methods like move to element, build, and perform.', 'duration': 732.197, 'highlights': ['The chapter discusses XPath usage to find sub-elements, with 32 children in a dropdown element. XPath usage to find sub-elements, with 32 children in a dropdown element.', 'The Actions class in Selenium WebDriver includes methods like move to element, build, and perform. The Actions class in Selenium WebDriver includes methods like move to element, build, and perform.']}, {'end': 12909.511, 'start': 12009.739, 'title': 'Actions class in selenium', 'summary': 'Explains the usage of the actions class in selenium, demonstrating the implementation of various actions such as click, double click, right click, context click, and dragging and dropping with practical examples and explanations.', 'duration': 899.772, 'highlights': ['Demonstrating the implementation of various actions such as click, double click, right click, context click, and dragging and dropping. The chapter demonstrates the usage of the Actions class in Selenium, showcasing the implementation of actions such as click, double click, right click, context click, and dragging and dropping.', 'Practical examples and explanations provided for each action, including usage in different scenarios such as sign-in, dragging and dropping, and executing actions on specific web elements. The transcript includes practical examples and explanations for each action, illustrating their usage in different scenarios, such as sign-in functionality, dragging and dropping elements, and executing actions on specific web elements.', 'Explanation of the syntax and usage of the Actions class object for performing actions like moving to elements, double clicking, right clicking, and context clicking. Detailed explanation of the syntax and usage of the Actions class object for performing actions such as moving to elements, double clicking, right clicking, and context clicking.']}, {'end': 13421.466, 'start': 12909.511, 'title': 'Automating drag and drop using selenium', 'summary': 'Demonstrates the process of automating drag and drop functionality using selenium, including identifying the frame and elements within it, and performing validation to ensure successful execution.', 'duration': 511.955, 'highlights': ['The process involves identifying the frame and then the elements within it using Selenium WebDriver. The chapter emphasizes the importance of first identifying the frame and then the elements within it using Selenium WebDriver, ensuring that the elements can be inspected and found on the web page.', 'Demonstrates creating an XPath for the identified iframe based on its class. The process involves creating an XPath for the identified iframe based on its class, showcasing the specific method of identifying elements within the frame.', 'Utilizing the actions class to perform drag and drop functionality from source to destination. The demonstration involves utilizing the actions class to perform drag and drop functionality from the source element to the destination element, showcasing the practical implementation of the drag and drop feature.', 'Executing validation to ensure the successful dropping of the element. The chapter explains the process of executing validation to ensure the successful dropping of the element, including checking the text on the target web element and displaying a message upon successful validation.']}, {'end': 14127.028, 'start': 13422.087, 'title': 'Automating keyboard actions and reading properties files', 'summary': 'Covers implementing keyboard actions using the keys class and performing copy-paste actions, as well as reading data from a properties extension file for automation testing.', 'duration': 704.941, 'highlights': ['The Keys class enables implementing keyboard actions like key down, key up, control key, and enter key, allowing various actions such as copy-paste, with the send keys, keys down, and enter methods.', 'The detailed explanation of implementing copy-paste functionality, including selecting the text, copying it with control C, and pasting it with control V, is provided, demonstrating the use of control A, control C, and control V for copying and pasting data.', 'The importance of reading data from a properties extension file is emphasized due to the ability to store data in key-value pairs, enabling random access to data, unlike text files, where data can only be read sequentially.', 'The process of creating a properties file and defining key-value pairs, such as name, course, and subcourse, is explained, highlighting the flexibility of changing the values while keeping the keys fixed.']}], 'duration': 3199.598, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE10927430.jpg', 'highlights': ['The chapter covers various types of XPath options, providing a comprehensive overview of the different approaches to finding XPath for web elements.', 'The chapter explains the use of XPath axis like preceding, following, and following siblings to navigate web elements.', 'The transcript emphasizes the practical demonstration for understanding the application of various XPath options in web automation.', 'XPath usage to find sub-elements, with 32 children in a dropdown element.', 'The Actions class in Selenium WebDriver includes methods like move to element, build, and perform.', 'The chapter demonstrates the usage of the Actions class in Selenium, showcasing the implementation of actions such as click, double click, right click, context click, and dragging and dropping.', 'The transcript includes practical examples and explanations for each action, illustrating their usage in different scenarios, such as sign-in functionality, dragging and dropping elements, and executing actions on specific web elements.', 'The chapter emphasizes the importance of first identifying the frame and then the elements within it using Selenium WebDriver, ensuring that the elements can be inspected and found on the web page.', 'The process involves creating an XPath for the identified iframe based on its class, showcasing the specific method of identifying elements within the frame.', 'The demonstration involves utilizing the actions class to perform drag and drop functionality from the source element to the destination element, showcasing the practical implementation of the drag and drop feature.', 'The chapter explains the process of executing validation to ensure the successful dropping of the element, including checking the text on the target web element and displaying a message upon successful validation.', 'The Keys class enables implementing keyboard actions like key down, key up, control key, and enter key, allowing various actions such as copy-paste, with the send keys, keys down, and enter methods.', 'The detailed explanation of implementing copy-paste functionality, including selecting the text, copying it with control C, and pasting it with control V, is provided, demonstrating the use of control A, control C, and control V for copying and pasting data.', 'The importance of reading data from a properties extension file is emphasized due to the ability to store data in key-value pairs, enabling random access to data, unlike text files, where data can only be read sequentially.', 'The process of creating a properties file and defining key-value pairs, such as name, course, and subcourse, is explained, highlighting the flexibility of changing the values while keeping the keys fixed.']}, {'end': 14928.03, 'segs': [{'end': 14312.007, 'src': 'embed', 'start': 14282.246, 'weight': 4, 'content': [{'end': 14283.747, 'text': 'Now FIS is there.', 'start': 14282.246, 'duration': 1.501}, {'end': 14288.769, 'text': 'Now using the different methods from the properties class, you can read the data.', 'start': 14284.427, 'duration': 4.342}, {'end': 14290.97, 'text': 'So p1.', 'start': 14289.929, 'duration': 1.041}, {'end': 14299.294, 'text': 'You need to actually load the data, complete data from the properties file, right? So we have here a method known as a load.', 'start': 14291.89, 'duration': 7.404}, {'end': 14304.861, 'text': 'load the data with the help of file input stream object.', 'start': 14300.217, 'duration': 4.644}, {'end': 14307.403, 'text': "okay, this method, so that's varifies.", 'start': 14304.861, 'duration': 2.542}, {'end': 14310.526, 'text': 'object during loading handle the exception.', 'start': 14307.403, 'duration': 3.123}, {'end': 14312.007, 'text': 'I exception.', 'start': 14310.526, 'duration': 1.481}], 'summary': 'Using properties class, load data from file with file input stream object.', 'duration': 29.761, 'max_score': 14282.246, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE14282246.jpg'}, {'end': 14604.524, 'src': 'embed', 'start': 14550.956, 'weight': 2, 'content': [{'end': 14552.957, 'text': 'So here you need to write the code.', 'start': 14550.956, 'duration': 2.001}, {'end': 14556.68, 'text': 'First point is to point to the location of the text file.', 'start': 14553.037, 'duration': 3.643}, {'end': 14561.185, 'text': 'So whatever file you locate, I can save.', 'start': 14557.423, 'duration': 3.762}, {'end': 14564.807, 'text': "The file is nothing but the path, right? So that I'll save it to a variable.", 'start': 14561.345, 'duration': 3.462}, {'end': 14573.011, 'text': 'Suppose fpath is the variable and here I assign the path.', 'start': 14565.707, 'duration': 7.304}, {'end': 14573.911, 'text': "So that's a text.", 'start': 14573.091, 'duration': 0.82}, {'end': 14577.693, 'text': 'The file is here.', 'start': 14576.693, 'duration': 1}, {'end': 14579.174, 'text': 'Go to the properties.', 'start': 14578.273, 'duration': 0.901}, {'end': 14604.524, 'text': 'in the C drive desktop and the file name is read dot text.', 'start': 14589.66, 'duration': 14.864}], 'summary': 'Code to point to text file location and save it to variable fpath.', 'duration': 53.568, 'max_score': 14550.956, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE14550956.jpg'}, {'end': 14658.608, 'src': 'embed', 'start': 14630.563, 'weight': 1, 'content': [{'end': 14640.945, 'text': 'So read buffer is a built-in class which reads the data from this path and stores in an internal buffer so that it can afterwards provide the data line by line.', 'start': 14630.563, 'duration': 10.382}, {'end': 14646.246, 'text': 'So for that reason, initially you have to create an object for the read buffer class.', 'start': 14641.685, 'duration': 4.561}, {'end': 14653.927, 'text': 'So buffer read, buffer reader, BU.', 'start': 14646.926, 'duration': 7.001}, {'end': 14658.608, 'text': 'Suppose BF.', 'start': 14657.768, 'duration': 0.84}], 'summary': 'Bufferreader reads data from a path and stores in an internal buffer for later use.', 'duration': 28.045, 'max_score': 14630.563, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE14630563.jpg'}, {'end': 14858.515, 'src': 'embed', 'start': 14820.807, 'weight': 0, 'content': [{'end': 14833.789, 'text': 'You need to write a condition saying that, while so you keep on reading when, up till you find a null value in the file.', 'start': 14820.807, 'duration': 12.982}, {'end': 14837.39, 'text': 'so null value is something once you reach to the end of the line.', 'start': 14833.789, 'duration': 3.601}, {'end': 14843.231, 'text': 'so whatever the starting position or cursor you have set.', 'start': 14837.39, 'duration': 5.841}, {'end': 14858.515, 'text': 'so i say start from the current position where, whatever the buffer reader you have, bf dot, there is a method read line, read line, line by line,', 'start': 14843.231, 'duration': 15.284}], 'summary': 'Write a condition to read lines until a null value is found in the file.', 'duration': 37.708, 'max_score': 14820.807, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE14820807.jpg'}, {'end': 14928.03, 'src': 'embed', 'start': 14898.62, 'weight': 3, 'content': [{'end': 14900.221, 'text': "we'll see what it's.", 'start': 14898.62, 'duration': 1.601}, {'end': 14908.467, 'text': "the output yeah, so whatever the data you have started, it's reading line by line.", 'start': 14900.221, 'duration': 8.246}, {'end': 14910.208, 'text': 'after this line there is a null value.', 'start': 14908.467, 'duration': 1.741}, {'end': 14914.371, 'text': 'so your while loop is failed, the condition fails and it comes out of the block.', 'start': 14910.208, 'duration': 4.163}, {'end': 14926.169, 'text': 'So this is a small line of code where you need to create a buffered reader class object and read the data from that file, line by line,', 'start': 14915.506, 'duration': 10.663}, {'end': 14928.03, 'text': 'up till you reach to a null value.', 'start': 14926.169, 'duration': 1.861}], 'summary': 'Code reads data line by line until null value, using buffered reader class object.', 'duration': 29.41, 'max_score': 14898.62, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE14898620.jpg'}], 'start': 14127.028, 'title': 'Java file reading basics', 'summary': 'Covers the basics of reading data from a file in java using bufferedreader and filereader classes, and iterating through the file line by line until a null value is encountered. it also explains how to read data from a properties file using java with only three lines of code and outlines the necessity and steps to implement reading data from a text file in selenium automation.', 'chapters': [{'end': 14604.524, 'start': 14127.028, 'title': 'Reading data from properties file and text file', 'summary': 'Explains how to read data from a properties file using java with only three lines of code, and also outlines the necessity and steps to implement reading data from a text file in selenium automation.', 'duration': 477.496, 'highlights': ['Explaining the process of reading data from a properties file using Java with only three lines of code. The process of creating an object for the properties file, using file input stream to read the data, and using the get method to retrieve the data is outlined, showcasing the simplicity of the process.', 'Discussing the necessity of reading data from a text file in Selenium automation and the steps to implement it. The importance of not hardcoding data in scripts and the steps involved in creating a text file, locating it, and implementing code to read it line by line are detailed for effective data handling in automation.']}, {'end': 14928.03, 'start': 14604.524, 'title': 'Java file reading basics', 'summary': 'Covers the basics of reading data from a file in java using bufferedreader and filereader classes, and iterating through the file line by line until a null value is encountered.', 'duration': 323.506, 'highlights': ['BufferedReader and FileReader classes are used to read data from a file and store it in an internal buffer (quantifiable data: usage of BufferedReader and FileReader classes)', 'A while loop with a condition to read data until a null value is encountered is used to iterate through the file line by line (quantifiable data: usage of while loop with condition to read until null value)', 'Exception handling is used to handle potential errors during file reading (quantifiable data: usage of exception handling)']}], 'duration': 801.002, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE14127028.jpg', 'highlights': ['Explaining the process of reading data from a properties file using Java with only three lines of code.', 'Discussing the necessity of reading data from a text file in Selenium automation and the steps to implement it.', 'BufferedReader and FileReader classes are used to read data from a file and store it in an internal buffer.', 'A while loop with a condition to read data until a null value is encountered is used to iterate through the file line by line.', 'Exception handling is used to handle potential errors during file reading.']}, {'end': 16192.912, 'segs': [{'end': 15479.277, 'src': 'embed', 'start': 15446.524, 'weight': 0, 'content': [{'end': 15451.405, 'text': 'integer means zeroth sheet, one sheet, two.', 'start': 15446.524, 'duration': 4.881}, {'end': 15459.681, 'text': 'in that way, number you can provide Sheet name is something, name of the sheet which you have edited as ABC.', 'start': 15451.405, 'duration': 8.276}, {'end': 15462.624, 'text': 'So I give here directly the sheet number or get okay.', 'start': 15459.681, 'duration': 2.943}, {'end': 15463.404, 'text': "We'll give the name.", 'start': 15462.644, 'duration': 0.76}, {'end': 15468.168, 'text': 'So the name of the excel sheet Is it book one saved?', 'start': 15463.925, 'duration': 4.243}, {'end': 15472.011, 'text': 'Anyways, we have sample application.', 'start': 15469.509, 'duration': 2.502}, {'end': 15473.252, 'text': 'right, sample.', 'start': 15472.011, 'duration': 1.241}, {'end': 15478.396, 'text': 'the sheet name was ABC Within string.', 'start': 15473.252, 'duration': 5.144}, {'end': 15479.277, 'text': 'ABC is the input.', 'start': 15478.396, 'duration': 0.881}], 'summary': "The transcript discusses an excel sheet named 'abc' and a sample application.", 'duration': 32.753, 'max_score': 15446.524, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE15446524.jpg'}, {'end': 16103.896, 'src': 'embed', 'start': 16038.987, 'weight': 2, 'content': [{'end': 16062.273, 'text': 'password.sendkeys. okay, after entering first set of data to loop it to go to the next sheet, I want to clear the old information so I can say here uname.clear.', 'start': 16038.987, 'duration': 23.286}, {'end': 16068.397, 'text': 'similarly, password.clear.', 'start': 16062.273, 'duration': 6.124}, {'end': 16075.101, 'text': 'so what it will do is first it will enter data to the username and password text field.', 'start': 16068.397, 'duration': 6.704}, {'end': 16089.704, 'text': 'okay, it will first inspect the username and password field and then enter the data from the excel to the two text boxes and clear the information before entering the new data from the excel.', 'start': 16075.101, 'duration': 14.603}, {'end': 16091.626, 'text': "so that's the reason we have cleared it.", 'start': 16089.704, 'duration': 1.922}, {'end': 16094.488, 'text': 'so we have written the code.', 'start': 16091.626, 'duration': 2.862}, {'end': 16098.752, 'text': 'now you can just run the execution of this program.', 'start': 16094.488, 'duration': 4.264}, {'end': 16099.572, 'text': 'just right click.', 'start': 16098.752, 'duration': 0.82}, {'end': 16103.896, 'text': "ok, we'll do one thing, this inspecting of the web elements.", 'start': 16099.572, 'duration': 4.324}], 'summary': 'Automating data entry and clearing old information to enter new data from excel.', 'duration': 64.909, 'max_score': 16038.987, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE16038987.jpg'}], 'start': 14928.31, 'title': 'Reading data from excel', 'summary': 'Explains the process of reading data from an excel file using java, including creating workbook and sheet objects, iterating through rows and cells, performing data-driven testing, and automating data entry for facebook login. it covers the need for downloading and adding jar files, and utilizes selenium webdriver with a wait period of 2000 milliseconds between data entries.', 'chapters': [{'end': 15415.97, 'start': 14928.31, 'title': 'Reading data from excel', 'summary': 'Explains the process of reading data from an excel file, including the need for downloading and adding jar files, creating an excel sheet with data, and writing a script to read the data from the excel. it also demonstrates the steps to read an excel file and the classes required for the process.', 'duration': 487.66, 'highlights': ['The need for downloading and adding jar files for reading Excel data To read an Excel file, it is necessary to download the respective jar files, such as JXL jar, and add them to the project, as built-in components are not sufficient for reading Excel files.', 'Process of creating an Excel sheet with data and saving the file The process involves creating an Excel sheet with user credentials, saving it with the .xls extension, and managing the file location and naming.', 'Steps to read an Excel file and the classes required for the process The process includes pointing to the workbook, sheets, and worksheets, as well as accessing the data within them using different classes provided by the JXL jar file.']}, {'end': 15592.506, 'start': 15415.97, 'title': 'Excel sheet data reading', 'summary': 'Discusses how to read data from an excel sheet using java, including creating workbook and sheet objects, using for loops to iterate through rows and cells, and utilizing methods like getsheet, getrows, and getcell.', 'duration': 176.536, 'highlights': ['Creating workbook and sheet objects The chapter explains the process of creating a workbook object and a sheet object in Java to access an Excel sheet, providing a foundational understanding for data extraction.', 'Using for loops to iterate through rows and cells It details the usage of for loops to iterate through rows and cells in the Excel sheet, highlighting the importance of starting from the first row and stopping at the last row for data extraction.', 'Utilizing getRows method to determine total number of rows The chapter demonstrates the use of the getRows method to determine the total number of rows in the Excel sheet, providing a quantifiable approach for iterating through the sheet.', 'Accessing cell data using getCell method It explains the process of accessing cell data using the getCell method, providing a specific example of retrieving data from a particular cell in the Excel sheet.']}, {'end': 15876.378, 'start': 15593.006, 'title': 'Excel data driven testing', 'summary': 'Explains how to read data from an excel sheet using java, iterate through rows and columns, perform data-driven testing by passing the data to an application, and launch a browser using selenium webdriver.', 'duration': 283.372, 'highlights': ['The chapter explains how to read data from an Excel sheet using Java, iterate through rows and columns, perform data-driven testing by passing the data to an application, and launch a browser using Selenium WebDriver. It covers reading data from an Excel sheet, iterating through rows and columns, performing data-driven testing, and launching a browser using Selenium WebDriver.', 'The code demonstrates reading data from an Excel sheet, including the username and password, and performing data-driven testing by passing the data to an application. The code demonstrates reading and displaying username and password data from an Excel sheet and performing data-driven testing by passing the data to an application.', 'The session focuses on working with a Facebook application, including opening a browser, setting the environment, and entering data from Excel into text boxes. The session focuses on working with a Facebook application, opening a browser, setting the environment, and entering data from Excel into text boxes.', 'The chapter includes a detailed explanation of launching a browser, setting up Selenium WebDriver, and opening a URL using the get method. It includes a detailed explanation of launching a browser, setting up Selenium WebDriver, and opening a URL using the get method.']}, {'end': 16192.912, 'start': 15876.378, 'title': 'Automating data entry for facebook login', 'summary': 'Demonstrates how to automate the process of entering data from an excel sheet into the username and password fields of a facebook login page using selenium webdriver, including finding web elements, sending keys, and clearing the fields, with a wait period of 2000 milliseconds between data entries.', 'duration': 316.534, 'highlights': ['The chapter covers automating the process of entering data from an Excel sheet into the username and password fields of a Facebook login page using Selenium WebDriver. Automating process, Excel data entry, Facebook login page, Selenium WebDriver', 'The process involves finding web elements such as the username and password fields, and inspecting their unique properties like ID. Finding web elements, Inspecting unique properties, ID attribute', 'After finding the web elements, the program enters the data from the Excel sheet into the respective username and password fields using the sendKeys method. Entering data, sendKeys method, Excel sheet', 'To ensure the fields are cleared before entering new data, the program uses the clear method with a wait period of 2000 milliseconds between data entries. Clearing fields, wait period, 2000 milliseconds']}], 'duration': 1264.602, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE14928310.jpg', 'highlights': ['The chapter covers automating the process of entering data from an Excel sheet into the username and password fields of a Facebook login page using Selenium WebDriver.', 'The chapter explains how to read data from an Excel sheet using Java, iterate through rows and columns, perform data-driven testing by passing the data to an application, and launch a browser using Selenium WebDriver.', 'The need for downloading and adding jar files for reading Excel data To read an Excel file, it is necessary to download the respective jar files, such as JXL jar, and add them to the project, as built-in components are not sufficient for reading Excel files.', 'Creating workbook and sheet objects The chapter explains the process of creating a workbook object and a sheet object in Java to access an Excel sheet, providing a foundational understanding for data extraction.', 'The process involves finding web elements such as the username and password fields, and inspecting their unique properties like ID. Finding web elements, Inspecting unique properties, ID attribute']}, {'end': 17804.801, 'segs': [{'end': 16298.107, 'src': 'embed', 'start': 16239.948, 'weight': 0, 'content': [{'end': 16246.55, 'text': 'So not only robot, you can also use the other tools like SQL, AutoIT, WebDriver APIs.', 'start': 16239.948, 'duration': 6.602}, {'end': 16251.371, 'text': 'But robot is much simpler as compared to the other tools.', 'start': 16247.23, 'duration': 4.141}, {'end': 16257.653, 'text': 'Why? Because robot comes inbuilt with your Java, the JDK.', 'start': 16253.112, 'duration': 4.541}, {'end': 16260.654, 'text': 'So no need of installing any jar files.', 'start': 16258.073, 'duration': 2.581}, {'end': 16271.122, 'text': "Okay, so as we discussed, robot will be used in a scenario where you can't automate using Selenium WebDriver.", 'start': 16261.539, 'duration': 9.583}, {'end': 16276.404, 'text': "Now the question comes why we can't automate with Selenium WebDriver.", 'start': 16272.242, 'duration': 4.162}, {'end': 16283.88, 'text': "because with In such scenarios you can't find the properties of those elements.", 'start': 16276.404, 'duration': 7.476}, {'end': 16288.122, 'text': 'web elements or desktop elements, you can say windows elements.', 'start': 16283.88, 'duration': 4.242}, {'end': 16292.764, 'text': "So as you can't inspect the properties, so you can't automate them.", 'start': 16288.643, 'duration': 4.121}, {'end': 16298.107, 'text': 'So in such scenarios, such cases, we can use robot class methods.', 'start': 16293.445, 'duration': 4.662}], 'summary': "Robot is simpler than other tools, inbuilt with java, used when properties of elements can't be inspected with selenium webdriver.", 'duration': 58.159, 'max_score': 16239.948, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE16239948.jpg'}, {'end': 16980.62, 'src': 'embed', 'start': 16934.407, 'weight': 2, 'content': [{'end': 16939.808, 'text': 'so i need to click on the this url download free java software.', 'start': 16934.407, 'duration': 5.401}, {'end': 16941.589, 'text': 'so just inspect it.', 'start': 16939.808, 'duration': 1.781}, {'end': 16947.29, 'text': "It's having the URL.", 'start': 16944.429, 'duration': 2.861}, {'end': 16955.532, 'text': 'You can take a link text or you can also make an XPath and just right click over it.', 'start': 16947.37, 'duration': 8.162}, {'end': 16959.232, 'text': 'Copy when XPath is not coming over here.', 'start': 16956.532, 'duration': 2.7}, {'end': 16962.773, 'text': "OK, let's create an XPath on our own.", 'start': 16960.333, 'duration': 2.44}, {'end': 16970.195, 'text': "Or else I'll just take on the Chrome browser.", 'start': 16967.334, 'duration': 2.861}, {'end': 16976.656, 'text': 'Because as I have a crow path over it.', 'start': 16974.434, 'duration': 2.222}, {'end': 16980.62, 'text': 'Let me check the crow path.', 'start': 16979.299, 'duration': 1.321}], 'summary': 'The transcript discusses creating xpath for downloading java software.', 'duration': 46.213, 'max_score': 16934.407, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE16934407.jpg'}, {'end': 17175.743, 'src': 'embed', 'start': 17129.162, 'weight': 1, 'content': [{'end': 17132.503, 'text': 'okay, the text containing the text.', 'start': 17129.162, 'duration': 3.341}, {'end': 17144.714, 'text': "so here we'll take this xpath and find the element once again, driver dot.", 'start': 17132.503, 'duration': 12.211}, {'end': 17154.683, 'text': 'find by dot, xpath this xpath.', 'start': 17144.714, 'duration': 9.969}, {'end': 17159.667, 'text': 'now you need to make again a click action on that button as well.', 'start': 17154.683, 'duration': 4.984}, {'end': 17163.671, 'text': 'so after clicking on the button you need to wait for some time period.', 'start': 17159.667, 'duration': 4.004}, {'end': 17175.743, 'text': 'It will give us something 200, 2000 milliseconds.', 'start': 17171.92, 'duration': 3.823}], 'summary': 'Using xpath, the script performs a click action and waits for 200-2000 milliseconds.', 'duration': 46.581, 'max_score': 17129.162, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE17129162.jpg'}], 'start': 16192.912, 'title': 'Java automation techniques', 'summary': 'Covers using robot class for automating mouse and keyboard actions, clipboard operations, handling pop-ups, and automating java software download. it discusses advantages, limitations, specific methods, and class usage, with examples and code snippets.', 'chapters': [{'end': 16419.72, 'start': 16192.912, 'title': 'Using robot class for automation', 'summary': 'Discusses using the robot class for automating mouse and keyboard actions in scenarios where selenium webdriver is unable to handle elements, and explains its advantages and limitations, including its inbuilt nature in jdk and its platform independence.', 'duration': 226.808, 'highlights': ['Robot class is used for automating mouse and keyboard actions which are not possible with Selenium WebDriver, and comes inbuilt with Java JDK. Robot class is used for automating mouse and keyboard actions which are not possible with Selenium WebDriver. It comes inbuilt with Java JDK, eliminating the need for additional jar file installations.', 'Robot class can handle windows applications on desktop, which Selenium WebDriver cannot, and can be used for scenarios where properties of elements cannot be inspected for automation. Robot class can handle windows applications on desktop, which Selenium WebDriver cannot. It is useful for scenarios where properties of elements cannot be inspected for automation.', 'Advantages of using Robot class include its inbuilt nature, platform independence, and its capability to automate file uploads, window and pop-up handlings. Advantages of using Robot class include its inbuilt nature, platform independence, and its capability to automate file uploads, window and pop-up handlings.', 'A limitation of the Robot class is that it performs actions on the active application, meaning actions continue on new applications if the screen changes or the application is switched. A limitation of the Robot class is that it performs actions on the active application, meaning actions continue on new applications if the screen changes or the application is switched.', 'To use the methods of the Robot class, an object for the class needs to be created, and the Robot class is imported from the robot.AWT package of Java. To use the methods of the Robot class, an object for the class needs to be created, and the Robot class is imported from the robot.AWT package of Java.']}, {'end': 16563.234, 'start': 16421.838, 'title': 'Clipboard operations in java', 'summary': 'Discusses methods for copying and pasting content using java, including classes like stringselection and toolkit, and key events for keyboard operations. it also mentions the usage of these classes in executing an example with a firefox browser.', 'duration': 141.396, 'highlights': ['The chapter covers methods for copying and pasting content using Java, such as key press, mouse press, mouse over, key release, and mouse release, along with classes like StringSelection and Toolkit.', 'It explains the process of copying content to the clipboard using the StringSelection class and pasting it using the Toolkit class, involving methods like control C for copying and control V for pasting.', 'The chapter also mentions the usage of key events and the Robot class for keyboard operations, and provides an example of working with a Firefox browser to demonstrate these concepts.']}, {'end': 16821.924, 'start': 16593.669, 'title': 'Handling pop-ups while downloading java software', 'summary': 'Discusses automating the steps to handle pop-ups while downloading java software, including entering keywords, clicking links, and automating the download process, culminating in the need to implement handling for a window that cannot be automated.', 'duration': 228.255, 'highlights': ['The need to automate the steps for handling pop-ups while downloading Java software, including clicking on links, entering keywords, and automating the download process.', 'The challenge of automating the final step of the download process due to the inability to automate a specific window, which lacks properties and attributes for identification.', 'Steps for setting properties for the gecko driver in the Eclipse system and inspecting the application using the Firefox browser, including locating elements and entering keywords for automation.']}, {'end': 17292.343, 'start': 16829.522, 'title': 'Automating java software download', 'summary': 'Details the process of automating the download of java software, including actions such as sending keys, clicking on links and buttons, and handling popups, with specific time durations for waiting and thread.sleep, to ensure the successful completion of the automation.', 'duration': 462.821, 'highlights': ['The process involves sending keys, clicking on links and buttons, and handling popups. The transcript details the process of automating the download of Java software, including actions such as sending keys, clicking on links and buttons, and handling popups.', 'Specific time durations for waiting and thread.sleep are mentioned, such as 2000 milliseconds, 4000 milliseconds, and 3000 milliseconds. Specific time durations for waiting and thread.sleep are mentioned, such as 2000 milliseconds, 4000 milliseconds, and 3000 milliseconds.', 'The use of the robot class object for handling popups is highlighted. The transcript emphasizes the use of the robot class object for handling popups.']}, {'end': 17804.801, 'start': 17293.174, 'title': 'Automating file download and upload', 'summary': 'Covers automating file download and handling windows alerts using the robot class in java, demonstrating the process with specific examples and code snippets.', 'duration': 511.627, 'highlights': ['The robot class in Java is used to automate file downloads and handle Windows alerts, demonstrated through specific examples and code snippets.', 'Demonstrates the use of the robot class to simulate keyboard actions such as tab and enter key presses to automate the file download process.', 'Explains the process of handling Windows alerts and automating file uploads using the robot class, providing code examples and step-by-step instructions.']}], 'duration': 1611.889, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE16192912.jpg', 'highlights': ['Robot class is used for automating mouse and keyboard actions which are not possible with Selenium WebDriver, and comes inbuilt with Java JDK.', 'Advantages of using Robot class include its inbuilt nature, platform independence, and its capability to automate file uploads, window and pop-up handlings.', 'The chapter covers methods for copying and pasting content using Java, such as key press, mouse press, mouse over, key release, and mouse release, along with classes like StringSelection and Toolkit.', 'The need to automate the steps for handling pop-ups while downloading Java software, including clicking on links, entering keywords, and automating the download process.', 'The process involves sending keys, clicking on links and buttons, and handling popups.']}, {'end': 19902.425, 'segs': [{'end': 18757.657, 'src': 'embed', 'start': 18724.791, 'weight': 2, 'content': [{'end': 18727.473, 'text': 'OK, whatever the application they have given, open it.', 'start': 18724.791, 'duration': 2.682}, {'end': 18731.256, 'text': 'I need to search for a product, right? Find the search web element.', 'start': 18727.854, 'duration': 3.402}, {'end': 18733.578, 'text': 'Where is the search here? Yeah, this is a search.', 'start': 18731.276, 'duration': 2.302}, {'end': 18736.76, 'text': 'I need to find this element and enter the iPhone.', 'start': 18734.058, 'duration': 2.702}, {'end': 18743.432, 'text': 'Okay, so I have to search, find this web element and enter iPhone word or the product name there.', 'start': 18737.17, 'duration': 6.262}, {'end': 18751.995, 'text': 'You know the process of inspection, inspect it, understand the web elements, the properties of it.', 'start': 18743.792, 'duration': 8.203}, {'end': 18757.657, 'text': "It's having an input tag, type is there, value, name is equal to Q.", 'start': 18752.535, 'duration': 5.122}], 'summary': "Instructs to search for a product by entering 'iphone' in a web element with specific properties.", 'duration': 32.866, 'max_score': 18724.791, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE18724791.jpg'}, {'end': 19328.705, 'src': 'embed', 'start': 19298.49, 'weight': 8, 'content': [{'end': 19303.391, 'text': "So if you don't want these locators to be found like this, you can skip this part.", 'start': 19298.49, 'duration': 4.901}, {'end': 19305.471, 'text': 'This part you can ignore.', 'start': 19303.651, 'duration': 1.82}, {'end': 19317.099, 'text': 'create one constructor, create a method, add to cart where, instead of just using a variable, call this by dot q one and the same getting.', 'start': 19305.471, 'duration': 11.628}, {'end': 19321.522, 'text': 'if I save it to a variable, that becomes a page object model concept.', 'start': 19317.099, 'duration': 4.423}, {'end': 19328.705, 'text': 'if I pass the locator directly here in the element, that will become the normal finding the element in the maven.', 'start': 19321.522, 'duration': 7.183}], 'summary': 'Creating a constructor and method for adding to cart can implement a page object model concept.', 'duration': 30.215, 'max_score': 19298.49, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE19298490.jpg'}, {'end': 19471.185, 'src': 'embed', 'start': 19443.749, 'weight': 5, 'content': [{'end': 19448.333, 'text': 'right, whatever data will come to, this parameter will get substituted to your.', 'start': 19443.749, 'duration': 4.584}, {'end': 19451.175, 'text': "the particular step, that's a parameter section.", 'start': 19448.333, 'duration': 2.842}, {'end': 19455.422, 'text': 'now. similarly, product name you can parameterize ram size also.', 'start': 19451.175, 'duration': 4.247}, {'end': 19459.542, 'text': 'you can matter parameterize whatever is the data in excel file.', 'start': 19455.422, 'duration': 4.12}, {'end': 19462.803, 'text': 'take the same ram for this function.', 'start': 19459.542, 'duration': 3.261}, {'end': 19471.185, 'text': "okay, so you don't go directly for the parameterization first to do direct passing the data and check it if it is working.", 'start': 19462.803, 'duration': 8.382}], 'summary': 'Parameterize data in steps, including product name and ram size, and check for functionality before direct data passing.', 'duration': 27.436, 'max_score': 19443.749, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE19443749.jpg'}, {'end': 19515.848, 'src': 'embed', 'start': 19487.087, 'weight': 1, 'content': [{'end': 19494.308, 'text': 'So first, what do we do? Step one, searching the search bar, enter the product name, whatever you get here, the input.', 'start': 19487.087, 'duration': 7.221}, {'end': 19496.489, 'text': 'Then I have clicked enter.', 'start': 19494.948, 'duration': 1.541}, {'end': 19500.869, 'text': "I'm selecting the RAM size, clicking on it, image, clicking on it.", 'start': 19497.169, 'duration': 3.7}, {'end': 19505.29, 'text': 'I may have next the button, button to place an order.', 'start': 19501.51, 'duration': 3.78}, {'end': 19507.991, 'text': 'Then something place order.', 'start': 19506.071, 'duration': 1.92}, {'end': 19512.627, 'text': 'then, second, you may have a button to add to cart.', 'start': 19508.686, 'duration': 3.941}, {'end': 19515.848, 'text': 'then you have to find the element to sign up.', 'start': 19512.627, 'duration': 3.221}], 'summary': 'The process involves searching product, selecting ram size, placing order, adding to cart, and signing up.', 'duration': 28.761, 'max_score': 19487.087, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE19487087.jpg'}, {'end': 19605.592, 'src': 'embed', 'start': 19573.78, 'weight': 0, 'content': [{'end': 19578.002, 'text': 'I have to create a class which can run right?', 'start': 19573.78, 'duration': 4.222}, {'end': 19586.005, 'text': 'So in my test case, in the package name test case, if you want, you can create one more package here.', 'start': 19578.402, 'duration': 7.603}, {'end': 19588.966, 'text': 'Flipkart is my package name.', 'start': 19586.325, 'duration': 2.641}, {'end': 19595.149, 'text': 'In this package, you can create a test ng class, create search.', 'start': 19589.207, 'duration': 5.942}, {'end': 19597.246, 'text': 'test case.', 'start': 19595.945, 'duration': 1.301}, {'end': 19598.827, 'text': 'add it in the flip card.', 'start': 19597.246, 'duration': 1.581}, {'end': 19600.748, 'text': 'you have a search test case.', 'start': 19598.827, 'duration': 1.921}, {'end': 19605.592, 'text': 'now, as you know, to before searching anything, you have to launch the application.', 'start': 19600.748, 'duration': 4.844}], 'summary': 'Create a flipkart test case in a new package for search functionality.', 'duration': 31.812, 'max_score': 19573.78, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE19573780.jpg'}, {'end': 19872.296, 'src': 'embed', 'start': 19780.216, 'weight': 3, 'content': [{'end': 19784.42, 'text': 'form.java code that you just wanted to go.', 'start': 19780.216, 'duration': 4.204}, {'end': 19785.941, 'text': 'see that code.', 'start': 19784.42, 'duration': 1.521}, {'end': 19793.147, 'text': 'yeah, that should be, but in this actually in this maven project i went to, i have implemented this page object concept.', 'start': 19785.941, 'duration': 7.206}, {'end': 19800.393, 'text': "also, because i have locators, i'm passing it to a variable, those variables i'm referring here.", 'start': 19793.147, 'duration': 7.246}, {'end': 19804.636, 'text': "if you don't want to use this page object model directly, find the element.", 'start': 19800.393, 'duration': 4.243}, {'end': 19806.438, 'text': 'pass to the syntax.', 'start': 19804.636, 'duration': 1.802}, {'end': 19811.283, 'text': 'Can we use this project using framework method too??', 'start': 19807.762, 'duration': 3.521}, {'end': 19813.784, 'text': 'This itself is a framework Maven.', 'start': 19812.064, 'duration': 1.72}, {'end': 19816.625, 'text': "You're working with the Maven, right? Okay.", 'start': 19813.964, 'duration': 2.661}, {'end': 19820.306, 'text': 'So all the jar files are in your pom.xml file.', 'start': 19817.485, 'duration': 2.821}, {'end': 19827.569, 'text': 'Okay So that is what the requirement they told, right? The jars, everything, it should be pom file control.', 'start': 19820.867, 'duration': 6.702}, {'end': 19831.67, 'text': 'Deploy pom for handling the dependencies.', 'start': 19829.09, 'duration': 2.58}, {'end': 19840.624, 'text': 'So your Selenium jar files, if you see here in the pom.xml, Your Selenium jar files, TestNG jar files are in the POM file only.', 'start': 19832.471, 'duration': 8.153}, {'end': 19844.026, 'text': "Okay Now, that's what I told you.", 'start': 19841.785, 'duration': 2.241}, {'end': 19849.769, 'text': 'If you want to use page object model, page factory, you can use in the Maven only.', 'start': 19844.126, 'duration': 5.643}, {'end': 19854.271, 'text': "If you're reading a data from an Excel, that is a keyword-driven framework only.", 'start': 19850.449, 'duration': 3.822}, {'end': 19858.933, 'text': "Understanding? So, you're implementing your framework in a Maven project.", 'start': 19854.951, 'duration': 3.982}, {'end': 19863.669, 'text': 'okay, this is another kind of framework, right i mean like the one which we discussed earlier.', 'start': 19859.545, 'duration': 4.124}, {'end': 19866.411, 'text': 'the project which we made was like a general one.', 'start': 19863.669, 'duration': 2.742}, {'end': 19870.034, 'text': 'now, through maven, we are creating a framework and doing it.', 'start': 19866.411, 'duration': 3.623}, {'end': 19872.296, 'text': 'yes, because in the requirement they asked for maven.', 'start': 19870.034, 'duration': 2.262}], 'summary': 'Implemented page object concept in maven project, with selenium and testng jars in pom.xml.', 'duration': 92.08, 'max_score': 19780.216, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE19780216.jpg'}], 'start': 17804.801, 'title': 'Test automation and framework implementation', 'summary': 'Covers automating file upload using java, implementing a page object model in selenium for flipkart, exploring page object model in test automation, and focusing on parameterization in testing with excel data and maven integration.', 'chapters': [{'end': 18528.836, 'start': 17804.801, 'title': 'Automating file upload process', 'summary': 'Explains the process of automating the file upload using java, including creating objects for classes, copying file location to clipboard, and simulating key press actions, resulting in successful file upload with doc or pdf files.', 'duration': 724.035, 'highlights': ['Creating object for the String Selection class and copying the path of the attaching file The speaker explains creating an object for the String Selection class to copy the path of the attaching file, facilitating the automation process.', 'Using the Toolkit class to copy the file location to the system clipboard The explanation includes using the Toolkit class to copy the file location to the system clipboard, providing a technical insight into the automation process.', 'Simulating key press actions to paste the file location and complete the upload process The process involves simulating key press actions to paste the file location from the clipboard, demonstrating a key step in automating the file upload process.']}, {'end': 18876.196, 'start': 18529.724, 'title': 'Implementing page object model in selenium', 'summary': 'Discusses the implementation of a page object model framework in a selenium project for flipkart, involving the search and purchase of an iphone, and utilizing maven and testng for test case creation and report generation.', 'duration': 346.472, 'highlights': ['The project requires the development of a page object model framework for the e-commerce site Flipkart, focusing on the search and purchase of an iPhone, along with the use of Maven for project setup and TestNG for test case creation. (Relevance: 5)', 'The testing scenario involves searching for a product, selecting a specific memory size iPhone, adding it to the cart, entering shipping details, making the payment, and logging out, providing a clear outline of the required automation steps. (Relevance: 4)', 'The process includes understanding the web elements, such as the search element, and utilizing the page object model to collect and manage locators for the automation scenario, demonstrating a practical application of the framework. (Relevance: 3)', 'The lecture emphasizes the implementation of the page object model by showcasing the identification and handling of web elements, such as the search element, and the organization of locators in a class for efficient automation script development. (Relevance: 2)', 'Instructions are provided for setting up the project using Eclipse, Maven, and TestNG, along with the addition of necessary jar files through the POM file, ensuring the proper configuration and dependency handling for the automation project. (Relevance: 1)']}, {'end': 19391.661, 'start': 18876.196, 'title': 'Page object model in test automation', 'summary': 'Explores the implementation of page object model in test automation, discussing the process of identifying locators, performing actions such as search, adding to cart, and making a purchase, and the use of page object model in a maven project.', 'duration': 515.465, 'highlights': ['The process of identifying locators, performing actions such as search, adding to cart, and making a purchase The transcript discusses the process of identifying locators for actions like searching, selecting memory, adding products to the cart, and making a purchase, emphasizing the importance of organizing locators and operations in separate classes for scenario testing.', 'Implementation of page object model in a maven project The chapter delves into the implementation of page object model in a maven project, explaining the concept of saving locators related to a scenario in a class for scenario testing and discussing the use of page object model in a maven project.', 'Different approaches to handling locators in test automation The transcript compares and contrasts two approaches to handling locators in test automation: utilizing a page object model concept with variables for locators or directly passing locators as elements in a maven project, highlighting the differences between the two approaches.']}, {'end': 19902.425, 'start': 19392.261, 'title': 'Parameterization and test case implementation', 'summary': 'Focuses on parameterization in testing, emphasizing the usage of excel data to substitute product names and method implementation in a maven project, while also discussing the framework and its integration with maven, as well as the importance of step-by-step implementation.', 'duration': 510.164, 'highlights': ['The chapter emphasizes the usage of Excel data for parameterization, allowing for the substitution of product names in the search, providing a structured approach to testing. The transcript discusses the usage of Excel data for parameterization, enabling the substitution of product names in the search process.', 'The discussion involves the implementation of methods in a Maven project, focusing on step-by-step approach rather than direct parameterization, to avoid complexity and enhance understanding. The implementation of methods in a Maven project is highlighted, advocating a step-by-step approach to avoid complexity and ensure comprehension.', "The transcript delves into the integration of the framework with Maven, emphasizing the control of jar files and dependencies through the pom.xml file, illustrating the framework's usage in a Maven project. The integration of the framework with Maven is discussed, highlighting the control of jar files and dependencies through the pom.xml file, showcasing the framework's usage in a Maven project."]}], 'duration': 2097.624, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KuroMweAojE/pics/KuroMweAojE17804801.jpg', 'highlights': ['The project requires the development of a page object model framework for the e-commerce site Flipkart, focusing on the search and purchase of an iPhone, along with the use of Maven for project setup and TestNG for test case creation.', 'The testing scenario involves searching for a product, selecting a specific memory size iPhone, adding it to the cart, entering shipping details, making the payment, and logging out, providing a clear outline of the required automation steps.', 'The process includes understanding the web elements, such as the search element, and utilizing the page object model to collect and manage locators for the automation scenario, demonstrating a practical application of the framework.', 'The lecture emphasizes the implementation of the page object model by showcasing the identification and handling of web elements, such as the search element, and the organization of locators in a class for efficient automation script development.', 'Instructions are provided for setting up the project using Eclipse, Maven, and TestNG, along with the addition of necessary jar files through the POM file, ensuring the proper configuration and dependency handling for the automation project.', 'The chapter emphasizes the usage of Excel data for parameterization, allowing for the substitution of product names in the search, providing a structured approach to testing.', 'The discussion involves the implementation of methods in a Maven project, focusing on step-by-step approach rather than direct parameterization, to avoid complexity and enhance understanding.', "The transcript delves into the integration of the framework with Maven, emphasizing the control of jar files and dependencies through the pom.xml file, illustrating the framework's usage in a Maven project.", 'The process of identifying locators, performing actions such as search, adding to cart, and making a purchase The transcript discusses the process of identifying locators for actions like searching, selecting memory, adding products to the cart, and making a purchase, emphasizing the importance of organizing locators and operations in separate classes for scenario testing.', 'Different approaches to handling locators in test automation The transcript compares and contrasts two approaches to handling locators in test automation: utilizing a page object model concept with variables for locators or directly passing locators as elements in a maven project, highlighting the differences between the two approaches.']}], 'highlights': ['Selenium WebDrivers architecture, methods, and HTML tags are covered in this tutorial.', 'The tutorial also includes web alerts, property file, data-driven testing, and file uploads and downloads.', 'Selenium WebDriver supports parallel execution through a grid environment, allowing scripts to be tested in different environments and distributed across different machines for faster execution.', 'The limitations of Selenium WebDriver include lack of support for newly launched browsers, inability to automate Windows applications by default, and absence of built-in report generation, which can be addressed by adding TestNG for report generation.', 'The process of obtaining the WebDriver jar files involves visiting the Selenium website, selecting the Java language bindings, and downloading the available version, currently 3.141.59.', 'The chapter emphasizes the need to download exe files for different browsers, such as Chrome, Firefox, and IE, and provides step-by-step instructions for downloading and extracting the driver files, ensuring the drivers are readily available for automation.', 'Web elements include text boxes, links, buttons, images, text areas, check boxes, radio buttons, list boxes, and combo boxes.', 'Understanding the HTML code and unique attributes of web elements is crucial for testing.', 'The process of using XPath to locate web elements is a frequent task in everyday testing.', 'Covers inspecting web elements with firebug and firepath, webdriver methods for web element interaction, and using selenium webdriver for web automation.', 'The chapter covers the usage of WebDriver navigation methods like navigate, back, forward, refresh, highlighting the key WebDriver navigation methods.', 'The process involves using a for loop to iterate through the web elements, with a wait time of 1000 milliseconds between each iteration. The wait time of 1000 milliseconds is quantifiable and demonstrates the efficiency of the automation process.', 'The chapter covers automating the process of entering data from an Excel sheet into the username and password fields of a Facebook login page using Selenium WebDriver.', 'Robot class is used for automating mouse and keyboard actions which are not possible with Selenium WebDriver, and comes inbuilt with Java JDK.', 'The project requires the development of a page object model framework for the e-commerce site Flipkart, focusing on the search and purchase of an iPhone, along with the use of Maven for project setup and TestNG for test case creation.']}