title
Selenium Automation Testing Tutorial | Selenium Tutorial For Beginners | Selenium| Simplilearn

description
🔥 IIT Guwahati Professional Certificate Program In Cloud Computing And DevOps (India Only): https://www.simplilearn.com/professional-certificate-program-cloud-computing-devops?utm_campaign=25AugustTubebuddyExpCloud&DevopsIITG&utm_medium=DescriptionFF&utm_source=youtube 🔥DevOps Engineer Masters Program (Discount Code - YTBE15): https://www.simplilearn.com/devops-engineer-masters-program-certification-training?utm_campaign=SCE-DevopsMaster&utm_medium=DescriptionFF&utm_source=youtube 🔥Post Graduate Program In DevOps: https://www.simplilearn.com/pgp-devops-certification-training-course?utm_campaign=SeleniumTutorialForBeginners-cobEbkTwbwY&utm_medium=DescriptionFF&utm_source=youtube In this Selenium tutorial for beginners video, we will learn about Selenium and have a hands-on demo on the working of Selenium IDE and Selenium WebDriver. Selenium is an automated testing tool that tests web applications across various platforms and browsers. Selenium IDE, Selenium RC, Selenium WebDriver, and Selenium Grid constitute the Selenium suite. The following are the topics included in this Selenium Tutorial video: 0:00 Selenium Tutorial for Beginners Introduction 1:04 Manual testing and its limitations 08:43 Selenium suite of tools 11:42 Selenium IDE with demo 27:30 Selenium RC 33:35 Selenium WebDriver with demo 57:59 Selenium Grid 1:02:32 Advantages of Selenium testing 1:04:17 Limitations of Selenium testing ✅To learn more about Selenium, subscribe to our YouTube channel: https://www.youtube.com/user/Simplilearn?sub_confirmation=1 🔥Free DevOps Training: https://www.simplilearn.com/learn-devops-basics-skillup?utm_campaign=SeleniumTutorialForBeginners-cobEbkTwbwY&utm_medium=Description&utm_source=youtube 🔥 Gain extensive hands-on training in software development, testing, and quality assurance technology skills, including phase-end and capstone projects based on real business scenarios: https://www.simplilearn.com/automation-testing-training-course-placement-guarantee?utm_campaign=SeleniumTutorialForBeginners-cobEbkTwbwY&utm_medium=Description&utm_source=youtube To access the slides, click here: https://www.slideshare.net/Simplilearn/selenium-tutorial-for-beginners-selenium-automation-testing-tutorial-selenium-simplilearn/Simplilearn/selenium-tutorial-for-beginners-selenium-automation-testing-tutorial-selenium-simplilearn ⏩Watch more videos on Selenium: https://www.youtube.com/playlist?list=PLEiEAq2VkUUJALG6nbw0sY-zbhAAx5IuT #SeleniumTutorialForBeginner #SeleniumTutorial #Selenium #WhatIsSelenium #SeleniumSuite #SeleniumTrainingForBeginners #SimplilearnSelenium #Simplilearn What is Selenium? Selenium is an automated testing tool that tests web applications across various platforms and browsers. WebDriver happens to be one of the Selenium tools with a simple yet robust architecture. It controls the browser based on the user program. WebDriver revolutionized automation testing and continues to do so. ➡️About Post Graduate Program In DevOps DevOps training course will bring out the scientist in you. You'll learn how to formalize and document development processes and create a self-documenting system. DevOps certification course will also cover advanced tools like Puppet, SaltStack, and Ansible that help self-governance and automated management at scale. ✅Key features - Caltech CTME Post Graduate Certificate - Enrolment in Simplilearn’s JobAssist - Receive up to 25 CEUs from Caltech CTME upon course completion - Simplilearn's JobAssist helps you get noticed by top hiring companies - Attend Masterclasses from Caltech CTME instructors - Live virtual classes led by industry experts, hands-on projects and integrated labs - Online Convocation by Caltech CTME Program Director - 20+ real-life projects on integrated labs - Capstone project in 3 domains - Caltech CTME Circle Membership ✅Skills Covered - DevOps Methodology - Continuous Integration - Continuous Delivery - Configuration Management - Containerization - DevOps on Cloud - Source Control - Deployment Automation - Cloud Platforms Learn more at: https://www.simplilearn.com/pgp-devops-certification-training-course?utm_campaign=SeleniumTutorialForBeginners&utm_medium=Description&utm_source=youtube 🔥🔥 Interested in Attending Live Classes? Call Us: IN - 18002127688 / US - +18445327688

detail
{'title': 'Selenium Automation Testing Tutorial | Selenium Tutorial For Beginners | Selenium| Simplilearn', 'heatmap': [{'end': 607.714, 'start': 522.885, 'weight': 0.818}, {'end': 968.403, 'start': 843.257, 'weight': 0.92}, {'end': 1373.984, 'start': 1282.861, 'weight': 0.827}, {'end': 2580.418, 'start': 2528.724, 'weight': 0.736}, {'end': 3057.136, 'start': 3015.286, 'weight': 0.725}], 'summary': 'This tutorial covers selenium basics, transitioning from manual testing to automation, manual testing challenges, selenium automation, using selenium ide and rc, evolution to webdriver, automating training search, web testing with selenium, and selenium 3.0 training, grid, advantages, and limitations.', 'chapters': [{'end': 150.301, 'segs': [{'end': 87.581, 'src': 'embed', 'start': 24.073, 'weight': 0, 'content': [{'end': 30.037, 'text': "Before you start understanding any automation tool, it's good to look back into what manual testing is all about,", 'start': 24.073, 'duration': 5.964}, {'end': 34.18, 'text': 'what are its challenges and how automation tool overcomes these challenges.', 'start': 30.037, 'duration': 4.143}, {'end': 37.541, 'text': 'Challenges are always overcome by inventing something new.', 'start': 34.56, 'duration': 2.981}, {'end': 45.422, 'text': "So let's see how Selenium came into existence and how did it evolve to become one of the most popular web application automation tool.", 'start': 37.681, 'duration': 7.741}, {'end': 46.843, 'text': 'Selenium suite of tools.', 'start': 45.682, 'duration': 1.161}, {'end': 48.663, 'text': 'Selenium is not a single tool.', 'start': 47.223, 'duration': 1.44}, {'end': 50.203, 'text': 'It has multiple components.', 'start': 48.803, 'duration': 1.4}, {'end': 51.864, 'text': 'So we will look into each of them.', 'start': 50.343, 'duration': 1.521}, {'end': 56.324, 'text': 'And as you know, every automation tool has its own advantages and limitations.', 'start': 52.084, 'duration': 4.24}, {'end': 63.506, 'text': 'So we will be looking at what the advantages are and the limitations of Selenium and how do we work around those limitations.', 'start': 56.585, 'duration': 6.921}, {'end': 65.047, 'text': "Alright, so let's get started.", 'start': 63.866, 'duration': 1.181}, {'end': 66.107, 'text': 'Manual testing.', 'start': 65.327, 'duration': 0.78}, {'end': 67.949, 'text': 'A definition, if you can say.', 'start': 66.288, 'duration': 1.661}, {'end': 74.233, 'text': 'a manual testing involves the physical execution of test cases against various applications.', 'start': 67.949, 'duration': 6.284}, {'end': 74.813, 'text': 'and to do what??', 'start': 74.233, 'duration': 0.58}, {'end': 77.415, 'text': 'To detect bugs and errors in your product?', 'start': 74.913, 'duration': 2.502}, {'end': 80.596, 'text': 'It is one of the primitive methods of testing a software.', 'start': 77.795, 'duration': 2.801}, {'end': 83.458, 'text': 'This was the only method which we knew of earlier.', 'start': 80.777, 'duration': 2.681}, {'end': 87.581, 'text': 'It is execution of test cases without using any automation tools.', 'start': 83.818, 'duration': 3.763}], 'summary': 'Selenium overcomes manual testing challenges, evolved into popular web automation tool, with advantages and limitations.', 'duration': 63.508, 'max_score': 24.073, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY24073.jpg'}], 'start': 7.401, 'title': 'Selenium basics and transition to automation', 'summary': 'Covers selenium basics, evolution, advantages, and limitations, highlighting the importance of transitioning from manual testing to automation and the comprehensive nature of manual testing in assessing applications.', 'chapters': [{'end': 150.301, 'start': 7.401, 'title': 'Selenium tutorial and evolution', 'summary': 'Explains the basics of selenium, its evolution, and advantages, and limitations, emphasizing the importance of transitioning from manual testing to automation and the comprehensive nature of manual testing in assessing applications.', 'duration': 142.9, 'highlights': ['Selenium is a suite of tools with multiple components, offering advantages and limitations, and it has evolved to become one of the most popular web application automation tools. Selenium is not a single tool but a suite with multiple components, and the chapter discusses its advantages, limitations, and evolution, highlighting its popularity in web application automation.', 'Manual testing involves the physical execution of test cases against various applications, allowing for practical testing of any application without the need for knowledge of a testing tool. The chapter explains manual testing as the physical execution of test cases without using any automation tools, highlighting its practical nature and independence from testing tools.', 'The process of manual testing entails writing multiple test cases, using various datasets, and testing multiple links and elements of the web page, including accessibility and performance testing. The transcript details the comprehensive nature of manual testing, involving multiple test cases, datasets, links, and elements, while also emphasizing the inclusion of accessibility and performance testing.', 'The chapter emphasizes the importance of understanding the transition from manual testing to automation and how automation tools overcome the challenges of manual testing. The chapter underscores the significance of comprehending the transition from manual testing to automation and how automation tools address the challenges encountered in manual testing.']}], 'duration': 142.9, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY7401.jpg', 'highlights': ['Selenium has evolved to become one of the most popular web application automation tools, offering advantages and limitations.', 'Manual testing involves the physical execution of test cases against various applications, allowing for practical testing without the need for knowledge of a testing tool.', 'The process of manual testing entails writing multiple test cases, using various datasets, and testing multiple links and elements of the web page, including accessibility and performance testing.', 'The chapter emphasizes the importance of understanding the transition from manual testing to automation and how automation tools overcome the challenges of manual testing.']}, {'end': 900.564, 'segs': [{'end': 211.081, 'src': 'embed', 'start': 169.572, 'weight': 0, 'content': [{'end': 175.958, 'text': 'Now, if one has to run test cases with hundreds of transactions or the data sets and repeat them,', 'start': 169.572, 'duration': 6.386}, {'end': 178.44, 'text': 'can you imagine the amount of effort required in that?', 'start': 175.958, 'duration': 2.482}, {'end': 182.744, 'text': 'Now, that brings us to the first demerit of the manual testing.', 'start': 178.681, 'duration': 4.063}, {'end': 186.368, 'text': 'Manual testing is a very time consuming process and it is very boring.', 'start': 182.865, 'duration': 3.503}, {'end': 189.149, 'text': 'also it is very highly error prone.', 'start': 186.528, 'duration': 2.621}, {'end': 193.732, 'text': 'why? because it is done manually and human mistakes are bound to happen.', 'start': 189.149, 'duration': 4.583}, {'end': 198.154, 'text': "since it's a manual executions, tester's presence is required all the time.", 'start': 193.732, 'duration': 4.422}, {'end': 202.237, 'text': 'one needs to keep doing manual steps, step by step, again, all the time.', 'start': 198.154, 'duration': 4.083}, {'end': 208.12, 'text': 'he also has to create manual reports, group them, format them so that we get good looking reports.', 'start': 202.237, 'duration': 5.883}, {'end': 211.081, 'text': 'Also send these reports manually to all stakeholders.', 'start': 208.44, 'duration': 2.641}], 'summary': 'Manual testing is time-consuming, error-prone, and requires manual effort for creating and sending reports.', 'duration': 41.509, 'max_score': 169.572, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY169572.jpg'}, {'end': 274.427, 'src': 'embed', 'start': 250.1, 'weight': 1, 'content': [{'end': 256.648, 'text': 'What about performance testing? You want to collect metrics on various performance measures as a part of your performance testing.', 'start': 250.1, 'duration': 6.548}, {'end': 263.757, 'text': 'You want to simulate multiple loads on application under test and hence manually performing these kind of test is not feasible.', 'start': 256.808, 'duration': 6.949}, {'end': 269.343, 'text': "And to top it all up, say if you're working in an agile model Where code is being churned out by developers,", 'start': 264.058, 'duration': 5.285}, {'end': 274.427, 'text': 'testers are building their test and they are executing them as and when the wills are available for testing.', 'start': 269.343, 'duration': 5.084}], 'summary': 'Performance testing requires collecting metrics on various measures, simulating multiple loads, and adapting to agile development.', 'duration': 24.327, 'max_score': 250.1, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY250100.jpg'}, {'end': 423.469, 'src': 'embed', 'start': 399.036, 'weight': 3, 'content': [{'end': 406.04, 'text': 'Lastly, since your test cases are automated, you can rerun them any point of time and as many times as required.', 'start': 399.036, 'duration': 7.004}, {'end': 411.623, 'text': 'So if this tool offers so many benefits, we definitely want to know more detail about what Selenium is.', 'start': 406.22, 'duration': 5.403}, {'end': 421.566, 'text': 'Selenium enables us to test web applications on all kinds of browsers, like Internet Explorer, Chrome, Firefox, Safari, Edge,', 'start': 412.063, 'duration': 9.503}, {'end': 423.469, 'text': 'Opera and even the Headless browser.', 'start': 421.566, 'duration': 1.903}], 'summary': 'Selenium allows automated testing on multiple browsers for web applications.', 'duration': 24.433, 'max_score': 399.036, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY399036.jpg'}, {'end': 607.714, 'src': 'heatmap', 'start': 522.885, 'weight': 0.818, 'content': [{'end': 528.488, 'text': "So let's look at some of the major components or the tools in Selenium and what they have to offer.", 'start': 522.885, 'duration': 5.603}, {'end': 531.108, 'text': 'So Selenium has four major components.', 'start': 528.968, 'duration': 2.14}, {'end': 532.829, 'text': 'One, Selenium IDE.', 'start': 531.548, 'duration': 1.281}, {'end': 535.689, 'text': "It's the most simplest tool in the suite of Selenium.", 'start': 533.209, 'duration': 2.48}, {'end': 537.97, 'text': 'It is integrated development environment.', 'start': 535.929, 'duration': 2.041}, {'end': 545.671, 'text': 'Earlier, Selenium IDE was available only as a Firefox plugin and it offered a simple record and playback functionality.', 'start': 538.31, 'duration': 7.361}, {'end': 553.372, 'text': "It is a very simple to use tool, but it's mainly used for prototyping and not used for creating automation in the real-time projects,", 'start': 545.991, 'duration': 7.381}, {'end': 557.593, 'text': 'because it has its own limitations, like any other record and replay tool.', 'start': 553.372, 'duration': 4.221}, {'end': 558.934, 'text': 'Selenium RC.', 'start': 557.973, 'duration': 0.961}, {'end': 561.397, 'text': 'This is nothing but Selenium Remote Control.', 'start': 559.255, 'duration': 2.142}, {'end': 565.261, 'text': 'It is used to write web application tests in different programming languages.', 'start': 561.697, 'duration': 3.564}, {'end': 571.067, 'text': 'What it does is, it basically interacts with the browser with the help of something called as RC server.', 'start': 565.581, 'duration': 5.486}, {'end': 575.912, 'text': 'And how it interacts is, it uses a simple HTTP post get request for communication.', 'start': 571.507, 'duration': 4.405}, {'end': 579.114, 'text': 'This was also called as Selenium 1.0 version.', 'start': 576.332, 'duration': 2.782}, {'end': 588.081, 'text': 'But it got deprecated in Selenium 2.0 version and was completely removed in 3.0 and it was replaced by WebDriver.', 'start': 579.515, 'duration': 8.566}, {'end': 591.544, 'text': 'And we will see in detail as why this happened.', 'start': 588.642, 'duration': 2.902}, {'end': 596.388, 'text': 'Selenium WebDriver, this is the most important component in the Selenium suite.', 'start': 592.144, 'duration': 4.244}, {'end': 600.431, 'text': 'It is a programming interface to create and execute test cases.', 'start': 596.748, 'duration': 3.683}, {'end': 607.714, 'text': 'It is obviously the successor of the Selenium RC which we talked about because of certain drawbacks which RC had.', 'start': 601.091, 'duration': 6.623}], 'summary': 'Selenium has four major components: ide, rc, and webdriver; webdriver is the most important for creating and executing test cases.', 'duration': 84.829, 'max_score': 522.885, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY522885.jpg'}, {'end': 684.521, 'src': 'embed', 'start': 658.727, 'weight': 5, 'content': [{'end': 663.189, 'text': 'So what did Selenium version comprised of? It had an IDE, RC and GRID.', 'start': 658.727, 'duration': 4.462}, {'end': 667.031, 'text': 'And as I said earlier, there were some disadvantages of using RC.', 'start': 663.769, 'duration': 3.262}, {'end': 672.434, 'text': 'So RC was on its path of deprecation and WebDriver was taking its path.', 'start': 667.572, 'duration': 4.862}, {'end': 678.337, 'text': 'So if you look at Selenium 2 version, it had an earlier version of WebDriver and also the RC.', 'start': 672.734, 'duration': 5.603}, {'end': 679.598, 'text': 'So they coexisted.', 'start': 678.618, 'duration': 0.98}, {'end': 684.521, 'text': 'From 3.0 onwards, RC was completely removed and WebDriver took its place.', 'start': 679.958, 'duration': 4.563}], 'summary': 'Selenium 2 had webdriver and rc coexisting, with rc deprecated and removed from version 3.0', 'duration': 25.794, 'max_score': 658.727, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY658727.jpg'}, {'end': 735.771, 'src': 'embed', 'start': 701.028, 'weight': 4, 'content': [{'end': 704.93, 'text': 'Selenium IDE is the most simplest tool in the suite of Selenium.', 'start': 701.028, 'duration': 3.902}, {'end': 709.652, 'text': 'It is nothing but an integrated development environment for creating your automation scripts.', 'start': 705.19, 'duration': 4.462}, {'end': 714.174, 'text': "It has a record and playback functionality and it's a very simple and easy to use tool.", 'start': 710.032, 'duration': 4.142}, {'end': 717.877, 'text': 'It is available as a Firefox plugin and a Chrome extension.', 'start': 714.534, 'duration': 3.343}, {'end': 721.359, 'text': 'So you can use either of this browser to record your test scripts.', 'start': 718.197, 'duration': 3.162}, {'end': 726.824, 'text': "It's a very simple user interface using which you can create your scripts that interact with your browser.", 'start': 721.9, 'duration': 4.924}, {'end': 735.771, 'text': 'The commands created in the scripts are called Selenese commands and they can be exported to the supported programming language and hence this code can be reused.', 'start': 727.204, 'duration': 8.567}], 'summary': 'Selenium ide is a simple tool for creating automation scripts, available as a firefox plugin and a chrome extension.', 'duration': 34.743, 'max_score': 701.028, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY701028.jpg'}], 'start': 150.561, 'title': 'Manual testing challenges and introduction to selenium automation', 'summary': 'Highlights the challenges of manual testing, including time-consuming process, error-prone nature, limited scope, and impracticality for performance and regression testing. it also explains the reasons for automating tests, the birth and evolution of selenium, its benefits including speed, accuracy, cost-effectiveness, and platform independence, as well as the major components of selenium, its history, and the recent enhancements.', 'chapters': [{'end': 269.343, 'start': 150.561, 'title': 'Manual testing challenges', 'summary': 'Highlights the challenges of manual testing, including time-consuming process, error-prone nature, limited scope, and impracticality for performance and regression testing.', 'duration': 118.782, 'highlights': ['Manual testing is time-consuming and error-prone due to human involvement, requiring manual execution, report creation, and maintenance of logs and repositories. Executing test cases manually and creating manual reports and maintaining logs and repositories is time-consuming and error-prone.', 'Manual testing has a limited scope, especially for activities like regression testing, due to the impracticality of executing all test cases and working with large amounts of data manually. The limited scope of manual testing, such as regression testing, restricts the execution of all test cases and working with large amounts of data.', 'Performing performance testing manually is not feasible, as it requires simulating multiple loads on the application under test and collecting metrics, which is impractical to do manually. Performance testing, including simulating multiple loads and collecting metrics, is not feasible to perform manually.']}, {'end': 900.564, 'start': 269.343, 'title': 'Introduction to selenium automation', 'summary': 'Explains the reasons for automating tests, the birth and evolution of selenium, its benefits including speed, accuracy, cost-effectiveness, and platform independence, as well as the major components of selenium, its history, and the recent enhancements.', 'duration': 631.221, 'highlights': ['Selenium IDE: It is an integrated development environment with record and playback functionality, available as a Firefox plugin and Chrome extension, mainly used for prototyping, and has been revamped with features like reusability of test cases, parallel test case execution, control flow statements, and improved locator functionality. Selenium IDE provides a simple user interface for creating automation scripts with record and playback functionality, and it has recently been revamped with features like reusability of test cases, parallel test case execution, control flow statements, and improved locator functionality.', 'Selenium history: Selenium version 1 had IDE, RC, and GRID components, while version 2 had both WebDriver and RC, but from version 3 onwards, RC was deprecated and WebDriver became the primary component, and the upcoming 4-dot version is expected to have more features and enhancements. The history of Selenium includes the transition from version 1 with IDE, RC, and GRID components to version 2 with both WebDriver and RC, and the subsequent deprecation of RC in version 3 in favor of WebDriver, with the upcoming 4-dot version expected to have more features and enhancements.', 'Selenium benefits: Automation with Selenium results in speedy execution, accuracy, cost-effectiveness, and platform independence, and it supports different programming languages and operating systems, making it a popular tool for testing web applications. Selenium offers benefits such as speedy execution, accuracy, cost-effectiveness, and platform independence, with support for different programming languages and operating systems, making it a popular tool for testing web applications.']}], 'duration': 750.003, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY150561.jpg', 'highlights': ['Manual testing is time-consuming and error-prone due to human involvement, requiring manual execution, report creation, and maintenance of logs and repositories.', 'Performing performance testing manually is not feasible, as it requires simulating multiple loads on the application under test and collecting metrics, which is impractical to do manually.', 'Manual testing has a limited scope, especially for activities like regression testing, due to the impracticality of executing all test cases and working with large amounts of data manually.', 'Selenium benefits: Automation with Selenium results in speedy execution, accuracy, cost-effectiveness, and platform independence, and it supports different programming languages and operating systems, making it a popular tool for testing web applications.', 'Selenium IDE: It is an integrated development environment with record and playback functionality, available as a Firefox plugin and Chrome extension, mainly used for prototyping, and has been revamped with features like reusability of test cases, parallel test case execution, control flow statements, and improved locator functionality.', 'Selenium history: Selenium version 1 had IDE, RC, and GRID components, while version 2 had both WebDriver and RC, but from version 3 onwards, RC was deprecated and WebDriver became the primary component, and the upcoming 4-dot version is expected to have more features and enhancements.']}, {'end': 1593.315, 'segs': [{'end': 928.304, 'src': 'embed', 'start': 901.124, 'weight': 0, 'content': [{'end': 904.227, 'text': "okay, so now let's go ahead and launch this idea.", 'start': 901.124, 'duration': 3.103}, {'end': 909.691, 'text': "so when i click on that, it is going to show me a welcome page where it's going to give me a few options.", 'start': 904.227, 'duration': 5.464}, {'end': 912.913, 'text': 'the first option is it says record a new test case in a new project.', 'start': 909.691, 'duration': 3.222}, {'end': 916.856, 'text': 'so straight away, if you choose this option, you can start recording a test case,', 'start': 912.913, 'duration': 3.943}, {'end': 921.18, 'text': "in which case it's going to just create a default project for you which you can save it later.", 'start': 916.856, 'duration': 4.324}, {'end': 923.401, 'text': 'then open an existing project.', 'start': 921.52, 'duration': 1.881}, {'end': 928.304, 'text': 'so you can open, if you already have a saved project, create a new project and close.', 'start': 923.401, 'duration': 4.903}], 'summary': 'Launching idea to create and open test projects with options to record new test cases, open existing projects, and create new projects.', 'duration': 27.18, 'max_score': 901.124, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY901124.jpg'}, {'end': 1097.796, 'src': 'embed', 'start': 1071.114, 'weight': 2, 'content': [{'end': 1079.882, 'text': 'if you just want to run your current test this is what you would use then IDE has this debugger option which you can use to do a step execution.', 'start': 1071.114, 'duration': 8.768}, {'end': 1085.727, 'text': "so say, for example, now, whenever I run the script, it's going to execute each and every command here sequentially.", 'start': 1079.882, 'duration': 5.845}, {'end': 1090.731, 'text': 'so instead, if I just select the first command and say do step execution, all right.', 'start': 1085.727, 'duration': 5.004}, {'end': 1097.796, 'text': 'so what it does is the moment it finishes the first command, which is opening of Facebook right, I think, which is already done here.', 'start': 1090.731, 'duration': 7.065}], 'summary': 'Ide offers debugger option for step execution of test commands.', 'duration': 26.682, 'max_score': 1071.114, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY1071114.jpg'}, {'end': 1146.899, 'src': 'embed', 'start': 1110, 'weight': 1, 'content': [{'end': 1116.482, 'text': 'you can pause your execution, you can resume your execution here, right, you can even completely stop your test execution,', 'start': 1110, 'duration': 6.482}, {'end': 1119.983, 'text': 'or you can just select this to run the rest of the test case.', 'start': 1116.482, 'duration': 3.501}, {'end': 1126.766, 'text': "so if we say run the test case, what it is going to do is it's just going to simply go ahead and complete the complete the test case.", 'start': 1119.983, 'duration': 6.783}, {'end': 1132.67, 'text': 'now there is another option here, which is you see the timer there which says test execution speed.', 'start': 1126.766, 'duration': 5.904}, {'end': 1139.855, 'text': "so to execute your test cases in the speed you want, say whenever you're developing an automation script right and say you want to give a demo,", 'start': 1132.67, 'duration': 7.185}, {'end': 1146.899, 'text': 'so you need to control the speed sometimes so that the viewer is able to exactly see all the steps which is being performed,', 'start': 1139.855, 'duration': 7.044}], 'summary': 'Control test execution: pause, resume, stop, adjust speed for demos.', 'duration': 36.899, 'max_score': 1110, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY1110000.jpg'}, {'end': 1373.984, 'src': 'heatmap', 'start': 1282.861, 'weight': 0.827, 'content': [{'end': 1290.667, 'text': "So here what I will do in the tests tab I'll say add a new test and let name this test as Amazon search Done.", 'start': 1282.861, 'duration': 7.806}, {'end': 1291.788, 'text': "I'll say add.", 'start': 1291.128, 'duration': 0.66}, {'end': 1295.19, 'text': "Now I'll enter this URL which I just copied it from my browser.", 'start': 1292.068, 'duration': 3.122}, {'end': 1298.132, 'text': "And then I'll just say start recording.", 'start': 1295.71, 'duration': 2.422}, {'end': 1304.916, 'text': "So what it did was since I've entered the URL in this address box, it just opened the Amazon.in URL.", 'start': 1298.592, 'duration': 6.324}, {'end': 1307.297, 'text': "Now let's do our test case.", 'start': 1305.916, 'duration': 1.381}, {'end': 1311.18, 'text': 'So in my test case what I said was I want to search for iPhone.', 'start': 1307.377, 'duration': 3.803}, {'end': 1314.222, 'text': "Once I have this I'm just going to click on my search button.", 'start': 1311.58, 'duration': 2.642}, {'end': 1322.368, 'text': 'So now this gives me a list of all iPhones and then I said I want to add an assertion on the title of this page.', 'start': 1314.682, 'duration': 7.686}, {'end': 1330.433, 'text': "So for me to do that what ID gives me an option is I have to just right click anywhere on this page and you'll see the Selenium ID options here.", 'start': 1322.788, 'duration': 7.645}, {'end': 1333.716, 'text': 'So in this I will select assert title.', 'start': 1330.754, 'duration': 2.962}, {'end': 1336.018, 'text': 'And then I will close this browser.', 'start': 1334.156, 'duration': 1.862}, {'end': 1338.019, 'text': 'So that kind of completes my test case.', 'start': 1336.258, 'duration': 1.761}, {'end': 1340.921, 'text': 'So now take a look at all the steps which is created for me.', 'start': 1338.519, 'duration': 2.402}, {'end': 1344.464, 'text': "So it says open slash because I've already provided the URL here.", 'start': 1341.242, 'duration': 3.222}, {'end': 1348.587, 'text': 'So either you can replace it with your regular URL or you can just leave it as it is.', 'start': 1344.784, 'duration': 3.803}, {'end': 1354.592, 'text': 'So what I will do since this is going to be a proper script and I might be using this to run it from my command prompt also.', 'start': 1348.607, 'duration': 5.985}, {'end': 1359.816, 'text': "So I'll just replace this target with the actual URL and then what it is doing it is setting a window size.", 'start': 1354.812, 'duration': 5.004}, {'end': 1366.46, 'text': 'Then there are whatever I did on that particular URL on that website it has recorded all the steps for me.', 'start': 1360.296, 'duration': 6.164}, {'end': 1373.984, 'text': 'So this is where it says type into this particular text box which is my search box and what did it type iPhone.', 'start': 1366.84, 'duration': 7.144}], 'summary': 'Recorded a test case for amazon search, including steps and assertions.', 'duration': 91.123, 'max_score': 1282.861, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY1282861.jpg'}, {'end': 1338.019, 'src': 'embed', 'start': 1314.682, 'weight': 4, 'content': [{'end': 1322.368, 'text': 'So now this gives me a list of all iPhones and then I said I want to add an assertion on the title of this page.', 'start': 1314.682, 'duration': 7.686}, {'end': 1330.433, 'text': "So for me to do that what ID gives me an option is I have to just right click anywhere on this page and you'll see the Selenium ID options here.", 'start': 1322.788, 'duration': 7.645}, {'end': 1333.716, 'text': 'So in this I will select assert title.', 'start': 1330.754, 'duration': 2.962}, {'end': 1336.018, 'text': 'And then I will close this browser.', 'start': 1334.156, 'duration': 1.862}, {'end': 1338.019, 'text': 'So that kind of completes my test case.', 'start': 1336.258, 'duration': 1.761}], 'summary': 'Using selenium, added assertion on iphones page title, completing the test case.', 'duration': 23.337, 'max_score': 1314.682, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY1314682.jpg'}], 'start': 901.124, 'title': 'Test case launch and automation', 'summary': 'Discusses launching a new test case, creating new projects, and automating facebook login and amazon product search using selenium ide, emphasizing step-by-step execution control and test speed adjustment.', 'chapters': [{'end': 937.889, 'start': 901.124, 'title': 'Launching a test case', 'summary': 'Discusses launching a test case, presenting options to record a new test case, open an existing project, create a new project, and close, with a focus on recording a new test case in a new project.', 'duration': 36.765, 'highlights': ['The chapter discusses launching a test case, presenting options to record a new test case, open an existing project, create a new project, and close, with a focus on recording a new test case in a new project.', 'The first option presented is to record a new test case in a new project, allowing immediate recording of a test case and creating a default project for later saving.', 'The chapter also mentions the option to open an existing project, highlighting the availability of saved projects for opening and further use.']}, {'end': 1246.446, 'start': 937.889, 'title': 'Automating facebook login with ide', 'summary': 'Covers the automation of facebook login using an ide, demonstrating the script execution, test case results, and essential components of the ide, emphasizing the step-by-step execution control and test speed adjustment.', 'duration': 308.557, 'highlights': ['The script logs into Facebook using a dummy user email, entering the password and clicking the login button, resulting in an expected error due to the dummy credentials.', "The IDE displays colored-coded execution steps, provides a complete log of the test case, and indicates the successful completion of the 'FB login' test case.", 'The IDE components include the menu bar for project management, the toolbar for test case execution control, and the address bar for specifying the URL of the test, along with the log and reference sections for tracking and detailed information.', 'The IDE offers options for step execution, controlling test speed, and viewing the command details and arguments within the script.', "The demonstration emphasizes the step-by-step execution control and test speed adjustment to ensure clear visibility of each command's execution during script development or demo.", 'The script execution control allows for pausing, resuming, or stopping the test execution and offers step execution and run all tests options for sequential test case execution.', 'The script execution speed can be adjusted to cater to specific requirements, such as providing a demo with controlled execution speed for clear visibility of the steps being performed.']}, {'end': 1593.315, 'start': 1246.486, 'title': 'Automated testing on amazon', 'summary': 'Discusses the process of creating and executing a test case for searching and asserting the title of a product page on amazon using selenium ide, including the features and benefits of the tool, and demonstrates how to handle test case failures.', 'duration': 346.829, 'highlights': ['Selenium IDE Features and Benefits The transcript explains the failover mechanism of locating techniques in Selenium IDE, allowing for automatic identification of web elements using alternative locators, reducing the need for script rewrites in case of element locator changes.', 'Test Case Execution and Failure Handling The process of executing a test case for searching and asserting the product page title on Amazon using Selenium IDE is demonstrated, including handling test case failures and interpreting the failure logs to identify the cause of the failure.', 'Test Case Creation and Execution The chapter demonstrates the creation and execution of a test case for searching and asserting the title of a product page on Amazon using Selenium IDE, showcasing the steps involved in setting up the test, running it, and interpreting the test execution logs.']}], 'duration': 692.191, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY901124.jpg', 'highlights': ['The chapter discusses launching a test case, presenting options to record a new test case, open an existing project, create a new project, and close, with a focus on recording a new test case in a new project.', "The demonstration emphasizes the step-by-step execution control and test speed adjustment to ensure clear visibility of each command's execution during script development or demo.", 'The IDE offers options for step execution, controlling test speed, and viewing the command details and arguments within the script.', 'The script execution control allows for pausing, resuming, or stopping the test execution and offers step execution and run all tests options for sequential test case execution.', 'The chapter demonstrates the creation and execution of a test case for searching and asserting the title of a product page on Amazon using Selenium IDE, showcasing the steps involved in setting up the test, running it, and interpreting the test execution logs.']}, {'end': 2006.971, 'segs': [{'end': 1646.496, 'src': 'embed', 'start': 1617.06, 'weight': 2, 'content': [{'end': 1622.044, 'text': 'With IDE, you cannot export your scripts, your test scripts to web driver scripts.', 'start': 1617.06, 'duration': 4.984}, {'end': 1625.006, 'text': 'This support is not yet added, but it is in the works.', 'start': 1622.464, 'duration': 2.542}, {'end': 1631.311, 'text': 'Data-driven testing, like using your Excel files or reading data from the CSV files and passing it to the script.', 'start': 1625.446, 'duration': 5.865}, {'end': 1633.392, 'text': 'This capability is still not available.', 'start': 1631.651, 'duration': 1.741}, {'end': 1639.514, 'text': 'Also, you cannot connect to database for reading your test data or perform any kind of database testing.', 'start': 1633.632, 'duration': 5.882}, {'end': 1641.494, 'text': 'With Selenium WebDriver, yes you can.', 'start': 1639.654, 'duration': 1.84}, {'end': 1646.496, 'text': 'Also, unlike Selenium WebDriver, you do not have a good reporting mechanism with the IDE.', 'start': 1641.854, 'duration': 4.642}], 'summary': 'Ide lacks export to webdriver, data-driven testing, and database connectivity. selenium webdriver offers these capabilities.', 'duration': 29.436, 'max_score': 1617.06, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY1617060.jpg'}, {'end': 1706.571, 'src': 'embed', 'start': 1680.586, 'weight': 0, 'content': [{'end': 1685.347, 'text': 'So this RC server uses a simple HTTP GET and POST request for communication.', 'start': 1680.586, 'duration': 4.761}, {'end': 1690.288, 'text': 'And as I said earlier also, Selenium RC was called as Selenium 1.0 version.', 'start': 1685.707, 'duration': 4.581}, {'end': 1698.129, 'text': 'But it got duplicated in Selenium 2.0 and was completely removed in 3.0 and it got replaced by what? Webdriver.', 'start': 1690.628, 'duration': 7.501}, {'end': 1702.65, 'text': "And we'll see why this happened and what was that issue which we had with the RC server.", 'start': 1698.349, 'duration': 4.301}, {'end': 1706.571, 'text': 'So this is the architecture of Selenium remote control at a very high level.', 'start': 1703.03, 'duration': 3.541}], 'summary': 'Selenium rc used http requests, was replaced by webdriver in 3.0.', 'duration': 25.985, 'max_score': 1680.586, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY1680586.jpg'}, {'end': 1860.042, 'src': 'embed', 'start': 1832.89, 'weight': 3, 'content': [{'end': 1836.512, 'text': 'So if you look at again a high level architecture or how did this actually work?', 'start': 1832.89, 'duration': 3.622}, {'end': 1843.175, 'text': 'First, you write your test scripts which is here right? In any of the supported language, like your PHP or your Java or Python.', 'start': 1836.692, 'duration': 6.483}, {'end': 1848.357, 'text': 'And before we start testing, we need to launch this RC server, which is a separate application.', 'start': 1843.495, 'duration': 4.862}, {'end': 1853.119, 'text': 'So this Selenium server is responsible for receiving the Selenies commands.', 'start': 1848.677, 'duration': 4.442}, {'end': 1856.46, 'text': 'And these Selenies commands are the ones which you have written in your script.', 'start': 1853.459, 'duration': 3.001}, {'end': 1860.042, 'text': 'It interprets them and reports the result back to your test.', 'start': 1856.901, 'duration': 3.141}], 'summary': 'Test scripts written in supported languages, selenium server interprets commands and reports results.', 'duration': 27.152, 'max_score': 1832.89, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY1832890.jpg'}, {'end': 1983.121, 'src': 'embed', 'start': 1951.808, 'weight': 1, 'content': [{'end': 1953.809, 'text': 'The architecture of RC is complicated.', 'start': 1951.808, 'duration': 2.001}, {'end': 1958.773, 'text': 'Why? Because of its intermediate RC server which is required to communicate with the browser.', 'start': 1954.15, 'duration': 4.623}, {'end': 1961.434, 'text': 'the execution of commands takes very long.', 'start': 1959.153, 'duration': 2.281}, {'end': 1970.076, 'text': 'it is slower we know why because every command in this takes a full trip from the test script to your rc server, to the core engine,', 'start': 1961.434, 'duration': 8.642}, {'end': 1975.618, 'text': 'to the browser and then back to the same route, which makes your overall test execution very slow.', 'start': 1970.076, 'duration': 5.542}, {'end': 1983.121, 'text': 'lastly, the aps supported by rc are very redundant and confusing, so rc does have a good number of APIs.', 'start': 1975.618, 'duration': 7.503}], 'summary': 'Rc architecture is slow due to multiple trips for command execution, resulting in slow test execution.', 'duration': 31.313, 'max_score': 1951.808, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY1951808.jpg'}], 'start': 1593.735, 'title': 'Using ide and selenium rc', 'summary': 'Covers using ide for automation scripts, addressing its limitations and also introduces selenium rc, discussing its architecture, replacement by webdriver, and identifying its shortcomings such as slow execution and redundant apis.', 'chapters': [{'end': 1639.514, 'start': 1593.735, 'title': 'Using ide for automation scripts', 'summary': 'Discusses using ide to create automation scripts, covering its components, limitations such as the inability to export test scripts to web driver scripts, lack of support for data-driven testing using excel or csv files, and inability to connect to a database for test data or perform database testing.', 'duration': 45.779, 'highlights': ['IDE limitations: inability to export test scripts to web driver scripts, lack of support for data-driven testing using Excel or CSV files, and inability to connect to a database for test data or perform database testing.', 'Components of IDE: record button, toolbar, editor box, and test execution log.', 'Use of ID to create automation scripts.']}, {'end': 2006.971, 'start': 1639.654, 'title': 'Selenium rc: architecture and shortcomings', 'summary': 'Introduces selenium rc as an intermediate component between test scripts and browsers, discussing its architecture, replacement by webdriver, and shortcomings including slow execution and redundant apis.', 'duration': 367.317, 'highlights': ['Selenium RC architecture and its role as an intermediary between test scripts and browsers Selenium RC acts as a mediator between test scripts and browsers, using a separate server to receive and interpret Selenium commands.', 'Replacement of Selenium RC by WebDriver in version 3.0 Selenium RC was completely removed in version 3.0 and was replaced by WebDriver, indicating its obsolescence in the Selenium ecosystem.', 'Shortcomings of Selenium RC including slow execution and complicated architecture Selenium RC requires an additional setup, has a complicated architecture due to the intermediary RC server, and suffers from slow execution due to the full trip for every command.', "Redundant and confusing APIs in Selenium RC Selenium RC's APIs are redundant and confusing, leading to ambiguity in using commands such as type key or type, and click or mouse DOM."]}], 'duration': 413.236, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY1593735.jpg', 'highlights': ['Selenium RC was completely removed in version 3.0 and was replaced by WebDriver, indicating its obsolescence in the Selenium ecosystem.', 'Shortcomings of Selenium RC including slow execution and complicated architecture Selenium RC requires an additional setup, has a complicated architecture due to the intermediary RC server, and suffers from slow execution due to the full trip for every command.', 'IDE limitations: inability to export test scripts to web driver scripts, lack of support for data-driven testing using Excel or CSV files, and inability to connect to a database for test data or perform database testing.', 'Selenium RC architecture and its role as an intermediary between test scripts and browsers Selenium RC acts as a mediator between test scripts and browsers, using a separate server to receive and interpret Selenium commands.']}, {'end': 2472.903, 'segs': [{'end': 2084.759, 'src': 'embed', 'start': 2007.532, 'weight': 0, 'content': [{'end': 2014.016, 'text': 'Hence, Selenium RC got deprecated and is no more available in latest Selenium versions.', 'start': 2007.532, 'duration': 6.484}, {'end': 2015.197, 'text': 'It is obsolete now.', 'start': 2014.136, 'duration': 1.061}, {'end': 2019.179, 'text': 'Now to overcome these shortfalls, WebDriver was introduced.', 'start': 2015.537, 'duration': 3.642}, {'end': 2025.783, 'text': 'So while RC was introduced in 2004, WebDriver was introduced by Simon Stewart in 2006.', 'start': 2019.539, 'duration': 6.244}, {'end': 2034.649, 'text': "It's a cross-platform testing platform, so WebDriver can run on any platform, like, say, Linux, Windows, Mac or even if you have a Ubuntu machine,", 'start': 2025.783, 'duration': 8.866}, {'end': 2036.23, 'text': 'you can run your Selenium scripts on.', 'start': 2034.649, 'duration': 1.581}, {'end': 2037.391, 'text': 'this machine.', 'start': 2036.83, 'duration': 0.561}, {'end': 2040.154, 'text': 'It is a programming interface to run test cases.', 'start': 2037.791, 'duration': 2.363}, {'end': 2041.735, 'text': 'It is not an IDE.', 'start': 2040.234, 'duration': 1.501}, {'end': 2043.577, 'text': 'And how does this work actually?', 'start': 2042.135, 'duration': 1.442}, {'end': 2052.005, 'text': 'So test cases are created and executed using web elements or objects, using the object locator and the web driver method.', 'start': 2043.897, 'duration': 8.108}, {'end': 2058.65, 'text': 'So when I do a demo you will understand what this web driver methods are and how do we locate the web elements on the web page.', 'start': 2052.065, 'duration': 6.585}, {'end': 2061.373, 'text': 'It does not require a core engine like RC.', 'start': 2059.272, 'duration': 2.101}, {'end': 2062.753, 'text': 'So it is pretty fast.', 'start': 2061.693, 'duration': 1.06}, {'end': 2071.534, 'text': 'Why? Because web driver interacts directly with the browser and it does not have that intermediate server like the RC hat.', 'start': 2063.193, 'duration': 8.341}, {'end': 2073.156, 'text': 'So each browser.', 'start': 2072.054, 'duration': 1.102}, {'end': 2078.456, 'text': 'in this case what happens is each browser has its own driver on which the application runs,', 'start': 2073.156, 'duration': 5.3}, {'end': 2084.759, 'text': 'and this driver is responsible to make the browser understand the commands which you will be passing from the script.', 'start': 2078.456, 'duration': 6.303}], 'summary': 'Selenium rc deprecated, webdriver introduced in 2006. cross-platform testing, fast interaction with browsers.', 'duration': 77.227, 'max_score': 2007.532, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2007532.jpg'}, {'end': 2129.614, 'src': 'embed', 'start': 2103.815, 'weight': 4, 'content': [{'end': 2109.38, 'text': 'so, like rc, webdriver also supports multiple programming languages in which you can write your test scripts.', 'start': 2103.815, 'duration': 5.565}, {'end': 2117.111, 'text': 'So another advantage of WebDriver is it supports various frameworks like TestNG, JUnit, NUnit and ReportNG.', 'start': 2110.529, 'duration': 6.582}, {'end': 2120.272, 'text': 'So, when we talk about the limitations of WebDriver,', 'start': 2117.831, 'duration': 2.441}, {'end': 2129.614, 'text': 'you will appreciate how this support for various frameworks and tool help in making the Selenium a complete automation solution for web applications.', 'start': 2120.272, 'duration': 9.342}], 'summary': 'Webdriver supports multiple languages and frameworks, making selenium a complete automation solution for web apps.', 'duration': 25.799, 'max_score': 2103.815, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2103815.jpg'}, {'end': 2174.252, 'src': 'embed', 'start': 2145.802, 'weight': 5, 'content': [{'end': 2152.891, 'text': 'So, since Selenium supports multiple language and you are free to use any of the supported languages to create your automation script,', 'start': 2145.802, 'duration': 7.089}, {'end': 2159.84, 'text': 'these libraries are made available on your Selenium website, which you need to download and then write your scripts accordingly.', 'start': 2152.891, 'duration': 6.949}, {'end': 2162.923, 'text': "So let's go and see from where do we download this.", 'start': 2160.36, 'duration': 2.563}, {'end': 2174.252, 'text': "So if I go to my browser, So seleniumhq.org, right? So if you're working with Selenium, this website is your Bible.", 'start': 2163.404, 'duration': 10.848}], 'summary': 'Selenium supports multiple languages for automation script creation, available on seleniumhq.org.', 'duration': 28.45, 'max_score': 2145.802, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2145802.jpg'}, {'end': 2277.901, 'src': 'embed', 'start': 2231.758, 'weight': 6, 'content': [{'end': 2235.301, 'text': 'it is nothing but a standard for exchanging data over the web.', 'start': 2231.758, 'duration': 3.543}, {'end': 2238.964, 'text': 'so, for example, you want to say launch a web application through your script.', 'start': 2235.301, 'duration': 3.663}, {'end': 2241.066, 'text': 'So what Selenium does it?', 'start': 2239.725, 'duration': 1.341}, {'end': 2245.749, 'text': 'it creates a JSON payload and post the request to the browser driver.', 'start': 2241.066, 'duration': 4.683}, {'end': 2246.87, 'text': 'That is here.', 'start': 2246.409, 'duration': 0.461}, {'end': 2249.491, 'text': 'And then we have this browser drivers themselves.', 'start': 2247.27, 'duration': 2.221}, {'end': 2252.673, 'text': 'And as I said, there is a specific driver for each browser.', 'start': 2249.772, 'duration': 2.901}, {'end': 2256.536, 'text': 'As you know, every tool has its own limitation.', 'start': 2254.094, 'duration': 2.442}, {'end': 2258.057, 'text': 'So does Selenium.', 'start': 2257.196, 'duration': 0.861}, {'end': 2262.78, 'text': "So let's look at what these limitations are and if there are any workarounds for them.", 'start': 2258.737, 'duration': 4.043}, {'end': 2267.193, 'text': 'Cannot test mobile applications requires framework like APM.', 'start': 2263.851, 'duration': 3.342}, {'end': 2270.596, 'text': 'Selenium is for automating web applications.', 'start': 2268.134, 'duration': 2.462}, {'end': 2273.158, 'text': 'It cannot handle mobile applications.', 'start': 2271.136, 'duration': 2.022}, {'end': 2277.901, 'text': 'Mobile applications are little different and they need its own set of automation tool.', 'start': 2273.798, 'duration': 4.103}], 'summary': 'Selenium automates web apps, not mobile. limitations include inability to test mobile apps without apm framework.', 'duration': 46.143, 'max_score': 2231.758, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2231758.jpg'}, {'end': 2383.353, 'src': 'embed', 'start': 2362.037, 'weight': 8, 'content': [{'end': 2370.823, 'text': 'So it does support some tools like, say, TestNG, ReportNG and even ExtentReport, which you can integrate with Selenium and generate beautiful reports.', 'start': 2362.037, 'duration': 8.786}, {'end': 2379.21, 'text': "Powerful isn't it? Also there are other challenges with Selenium like Selenium is not very good with image testing.", 'start': 2371.284, 'duration': 7.926}, {'end': 2383.353, 'text': 'Especially for the ones which are designed for web application automation.', 'start': 2379.95, 'duration': 3.403}], 'summary': 'Selenium supports testng, reportng, and extentreport for generating reports. however, it has challenges with image testing.', 'duration': 21.316, 'max_score': 2362.037, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2362037.jpg'}], 'start': 2007.532, 'title': 'Evolution of selenium: rc to webdriver', 'summary': "Discusses the transition from selenium rc to webdriver, highlighting webdriver's cross-platform capabilities, direct interaction with browsers, and faster execution. webdriver was introduced in 2006 compared to rc in 2004, and it covers advantages such as support for multiple programming languages and frameworks, architecture components, and limitations such as testing mobile applications and sequential execution, along with workarounds and additional tools for image testing.", 'chapters': [{'end': 2103.815, 'start': 2007.532, 'title': 'Evolution of selenium: rc to webdriver', 'summary': "Discusses the transition from selenium rc to webdriver, highlighting webdriver's cross-platform capabilities, direct interaction with browsers, and faster execution due to absence of an intermediate server, with webdriver being introduced in 2006 compared to rc in 2004.", 'duration': 96.283, 'highlights': ['WebDriver, introduced in 2006, is a cross-platform testing platform, capable of running on Linux, Windows, Mac, and Ubuntu machines.', 'WebDriver interacts directly with the browser, leading to faster execution compared to Selenium RC, as it does not require a core engine.', 'Each browser has its own driver responsible for interpreting instructions, such as clicking a button or entering text, resulting in efficient execution.', 'Selenium RC got deprecated and is no longer available in the latest Selenium versions, making WebDriver the preferred choice for test automation.']}, {'end': 2472.903, 'start': 2103.815, 'title': 'Webdriver advantages and limitations', 'summary': 'Covers the advantages and limitations of webdriver, including support for multiple programming languages and frameworks, architecture components, limitations such as testing mobile applications and sequential execution, and workarounds like integrating apm for mobile automation and using selenium grid for parallel execution. it also highlights the limited reporting capability and the use of additional tools for image testing, emphasizing webdriver as a popular tool for automation.', 'duration': 369.088, 'highlights': ["WebDriver supports various programming languages and frameworks like TestNG, JUnit, NUnit, and ReportNG WebDriver's support for multiple programming languages and frameworks like TestNG, JUnit, NUnit, and ReportNG makes it a complete automation solution for web applications.", 'Selenium provides language bindings for various supported languages available for download on the website Selenium provides language bindings for various supported languages available for download on the website, enabling users to write automation scripts accordingly.', 'Selenium offers REST APIs and JSON wire protocol for interacting with the browser through script execution Selenium offers REST APIs and JSON wire protocol for interacting with the browser through script execution, facilitating the exchange of data over the web.', 'WebDriver limitations include inability to test mobile applications and only support for sequential execution, which can be overcome by integrating APM for mobile automation and using Selenium Grid for parallel execution WebDriver limitations include inability to test mobile applications and only support for sequential execution, which can be overcome by integrating APM for mobile automation and using Selenium Grid for parallel execution, addressing the need for running the same test cases on web and mobile browsers.', 'Selenium WebDriver has limited reporting capability, but it supports tools like TestNG, ReportNG, and ExtentReport for integrating and generating comprehensive reports Selenium WebDriver has limited reporting capability, but it supports tools like TestNG, ReportNG, and ExtentReport for integrating and generating comprehensive reports, enhancing its reporting capabilities.']}], 'duration': 465.371, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2007532.jpg', 'highlights': ['WebDriver, introduced in 2006, is a cross-platform testing platform, capable of running on Linux, Windows, Mac, and Ubuntu machines.', 'WebDriver interacts directly with the browser, leading to faster execution compared to Selenium RC, as it does not require a core engine.', 'Each browser has its own driver responsible for interpreting instructions, resulting in efficient execution.', 'Selenium RC got deprecated and is no longer available in the latest Selenium versions, making WebDriver the preferred choice for test automation.', 'WebDriver supports various programming languages and frameworks like TestNG, JUnit, NUnit, and ReportNG, making it a complete automation solution for web applications.', 'Selenium provides language bindings for various supported languages available for download on the website, enabling users to write automation scripts accordingly.', 'Selenium offers REST APIs and JSON wire protocol for interacting with the browser through script execution, facilitating the exchange of data over the web.', 'WebDriver limitations include inability to test mobile applications and only support for sequential execution, which can be overcome by integrating APM for mobile automation and using Selenium Grid for parallel execution, addressing the need for running the same test cases on web and mobile browsers.', 'Selenium WebDriver has limited reporting capability, but it supports tools like TestNG, ReportNG, and ExtentReport for integrating and generating comprehensive reports, enhancing its reporting capabilities.']}, {'end': 2740.948, 'segs': [{'end': 2580.418, 'src': 'heatmap', 'start': 2472.903, 'weight': 0, 'content': [{'end': 2479.586, 'text': 'we will use this particular use case and what this use case says is navigate to the official SimplyLearn website,', 'start': 2472.903, 'duration': 6.683}, {'end': 2484.609, 'text': 'then type the Selenium in search bar and click on it and click on the Selenium 3.0 training.', 'start': 2479.586, 'duration': 5.023}, {'end': 2489.692, 'text': 'So we are basically searching for Selenium 3.0 training on the SimplyLearn website.', 'start': 2485.069, 'duration': 4.623}, {'end': 2494.654, 'text': "First let's do the steps manually and then we will go ahead and write the automation script.", 'start': 2490.052, 'duration': 4.602}, {'end': 2496.295, 'text': "So let's go to my browser.", 'start': 2495.055, 'duration': 1.24}, {'end': 2501.018, 'text': "On my browser what I'll do is I'll let me first launch the Simply Learn website.", 'start': 2496.976, 'duration': 4.042}, {'end': 2510.717, 'text': 'Okay, and here what my use case step says is I need to search for selenium and click on the search button.', 'start': 2502.839, 'duration': 7.878}, {'end': 2517.3, 'text': 'so once i do that, it is going to give me a complete list of all kind of selenium trainings which is available with simply learn,', 'start': 2510.717, 'duration': 6.583}, {'end': 2520.661, 'text': "and what i'm interested in is the selenium 3.0 training here.", 'start': 2517.3, 'duration': 3.361}, {'end': 2523.963, 'text': 'once i find this on the web page, i need to go and click on that.', 'start': 2520.661, 'duration': 3.302}, {'end': 2528.264, 'text': 'Alright. so this is all the steps which we are going to perform in this use case.', 'start': 2524.463, 'duration': 3.801}, {'end': 2533.846, 'text': "Okay, now so for writing the test cases, I'll be using an IDE which is Eclipse.", 'start': 2528.724, 'duration': 5.122}, {'end': 2539.788, 'text': 'I have already installed my Eclipse and also I have installed Selenium in this instance of my Eclipse.', 'start': 2534.226, 'duration': 5.562}, {'end': 2546.45, 'text': 'Alright, so if you can see the reference library folder here, you will see all the jars which are required for the Selenium to work.', 'start': 2540.168, 'duration': 6.282}, {'end': 2551.472, 'text': 'Next, another prereq which is required for Selenium and that is your driver files.', 'start': 2546.81, 'duration': 4.662}, {'end': 2557.402, 'text': 'Now every browser which you want to work with has its own driver file to execute your Selenium scripts.', 'start': 2551.877, 'duration': 5.525}, {'end': 2563.288, 'text': "And since for this demo, I'll be working with the Firefox browser, I will need a driver file for Firefox.", 'start': 2557.663, 'duration': 5.625}, {'end': 2570.155, 'text': "Now driver file for Firefox is the Gecko driver, which I've already downloaded and placed in my folder called drivers.", 'start': 2563.628, 'duration': 6.527}, {'end': 2573.413, 'text': "Now where did I download this from? Let's go ahead and see that.", 'start': 2570.871, 'duration': 2.542}, {'end': 2580.418, 'text': 'So if I go back to my browser and if you go to your seleniumhq.website, you have to go to this download tab here.', 'start': 2573.773, 'duration': 6.645}], 'summary': 'Use case: search for selenium 3.0 training on simplylearn website. steps to perform manually and write automation script in eclipse using selenium and gecko driver for firefox.', 'duration': 84.499, 'max_score': 2472.903, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2472903.jpg'}, {'end': 2722.896, 'src': 'embed', 'start': 2698.342, 'weight': 2, 'content': [{'end': 2705.766, 'text': "so you have a driver created which is of the class web driver, and now, after this, I'm going to create three methods.", 'start': 2698.342, 'duration': 7.424}, {'end': 2706.327, 'text': 'all right.', 'start': 2705.766, 'duration': 0.561}, {'end': 2711.71, 'text': 'so first method I will have for launching the Firefox browser okay,', 'start': 2706.327, 'duration': 5.383}, {'end': 2720.214, 'text': 'and then I will write a simple method for searching selenium training and clicking on it.', 'start': 2711.71, 'duration': 8.504}, {'end': 2722.896, 'text': "This is the actual use case what we'll be doing.", 'start': 2721.054, 'duration': 1.842}], 'summary': 'Creating a web driver class with three methods for launching firefox browser and conducting a search for selenium training.', 'duration': 24.554, 'max_score': 2698.342, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2698342.jpg'}], 'start': 2472.903, 'title': 'Automating selenium training search', 'summary': 'Outlines the automation process for searching selenium 3.0 training on the official simplylearn website using selenium, detailing manual steps and tools to be used. it also covers setting up prerequisites, including importing necessary jar files and organizing driver files for different browsers, with a focus on firefox.', 'chapters': [{'end': 2539.788, 'start': 2472.903, 'title': 'Automating selenium 3.0 training search', 'summary': 'Outlines the process of automating the search for selenium 3.0 training on the official simplylearn website using selenium, mentioning the manual steps and the tools to be used for automation.', 'duration': 66.885, 'highlights': ['The use case involves navigating to the official SimplyLearn website, searching for Selenium, and clicking on the Selenium 3.0 training.', 'Manual steps involve launching the Simply Learn website, searching for Selenium, and clicking on the search button to obtain a list of available training options.', 'The process mentions the use of Eclipse as the IDE for writing the automation script and confirms the installation of Selenium within Eclipse.']}, {'end': 2740.948, 'start': 2540.168, 'title': 'Setting up selenium prerequisites', 'summary': 'Outlines the process of setting up prerequisites for selenium, including importing necessary jar files and downloading and organizing driver files for different browsers, with a focus on firefox, emphasizing the need to create a directory for drivers and import necessary libraries.', 'duration': 200.78, 'highlights': ['The chapter emphasizes the importance of importing necessary jar files and downloading driver files for Selenium, with a focus on Firefox, providing a step-by-step guide for obtaining and organizing driver files for different browsers, highlighting the need to create a directory for drivers and import the required libraries.', "It demonstrates the process of creating a class and defining the driver variable using the class web driver, followed by the creation of methods for launching the Firefox browser, searching for Selenium training, and closing the browser, emphasizing the need to import the 'webdriver' package from 'org.openqa.selenium'.", 'It provides a step-by-step demonstration of creating methods for launching the Firefox browser, searching for Selenium training, and closing the browser, with a focus on the public static void main method calling these methods one after the other, showcasing the practical use case of the methods created.']}], 'duration': 268.045, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2472903.jpg', 'highlights': ['The use case involves navigating to the official SimplyLearn website, searching for Selenium, and clicking on the Selenium 3.0 training.', 'The chapter emphasizes the importance of importing necessary jar files and downloading driver files for Selenium, with a focus on Firefox, providing a step-by-step guide for obtaining and organizing driver files for different browsers, highlighting the need to create a directory for drivers and import the required libraries.', 'It provides a step-by-step demonstration of creating methods for launching the Firefox browser, searching for Selenium training, and closing the browser, with a focus on the public static void main method calling these methods one after the other, showcasing the practical use case of the methods created.', 'Manual steps involve launching the Simply Learn website, searching for Selenium, and clicking on the search button to obtain a list of available training options.', 'The process mentions the use of Eclipse as the IDE for writing the automation script and confirms the installation of Selenium within Eclipse.', "It demonstrates the process of creating a class and defining the driver variable using the class web driver, followed by the creation of methods for launching the Firefox browser, searching for Selenium training, and closing the browser, emphasizing the need to import the 'webdriver' package from 'org.openqa.selenium'."]}, {'end': 3318.329, 'segs': [{'end': 2883.071, 'src': 'embed', 'start': 2815.498, 'weight': 7, 'content': [{'end': 2821.581, 'text': 'including dot exe, because driver executable on your machines is going to be gecko driver dot exe.', 'start': 2815.498, 'duration': 6.083}, {'end': 2827.324, 'text': 'So just make sure that your path, which you mentioned here in the system.set property is the correct path.', 'start': 2822.021, 'duration': 5.303}, {'end': 2835.148, 'text': 'Okay Then the next thing what we need to do is I need to just say driver is equal to new Firefox driver.', 'start': 2827.644, 'duration': 7.504}, {'end': 2840.53, 'text': 'Okay So this command new Firefox driver creates an instance of the Firefox browser.', 'start': 2835.308, 'duration': 5.222}, {'end': 2842.251, 'text': 'Now this is also flagging me error.', 'start': 2840.65, 'duration': 1.601}, {'end': 2847.794, 'text': "Why? Because again it's going to ask me to import the packages where the Firefox driver class is present.", 'start': 2842.391, 'duration': 5.403}, {'end': 2849.015, 'text': 'Okay, we did that.', 'start': 2848.054, 'duration': 0.961}, {'end': 2853.78, 'text': 'now these two lines are responsible for launching the Firefox browser form.', 'start': 2849.015, 'duration': 4.765}, {'end': 2854.621, 'text': 'so this is done.', 'start': 2853.78, 'duration': 0.841}, {'end': 2856.342, 'text': "so what's my next step in the use case?", 'start': 2854.621, 'duration': 1.721}, {'end': 2858.204, 'text': 'now I need to launch the website.', 'start': 2856.342, 'duration': 1.862}, {'end': 2858.805, 'text': 'simply learn.', 'start': 2858.204, 'duration': 0.601}, {'end': 2862.068, 'text': 'so for that we have a command called driver dot.', 'start': 2858.805, 'duration': 3.263}, {'end': 2864.05, 'text': 'get, driver dot, get.', 'start': 2862.068, 'duration': 1.982}, {'end': 2869.476, 'text': "what it does is whatever URL you're going to give it here in this double quotes as an argument.", 'start': 2864.05, 'duration': 5.426}, {'end': 2873.32, 'text': "it is going to launch that particular website And for us it's a Simply Learn website.", 'start': 2869.476, 'duration': 3.844}, {'end': 2883.071, 'text': 'So what I do as a best practice is instead of typing out the URL, I go to my browser, launch that URL which I want to test and I simply copy it.', 'start': 2873.34, 'duration': 9.731}], 'summary': 'Setting up geckodriver.exe, creating firefox browser instance, and launching simply learn website.', 'duration': 67.573, 'max_score': 2815.498, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2815498.jpg'}, {'end': 2997.896, 'src': 'embed', 'start': 2958.504, 'weight': 3, 'content': [{'end': 2969.3, 'text': "now, in this I need to use a command called driver.findElementBy ID is what I'm going to use as a locating technique and in double quotes,", 'start': 2958.504, 'duration': 10.796}, {'end': 2972.805, 'text': "the ID which I copied from the website is what I'm going to paste here.", 'start': 2969.3, 'duration': 3.505}, {'end': 2975.847, 'text': 'okay?. then what am I going to do on this element?', 'start': 2972.805, 'duration': 3.042}, {'end': 2980.369, 'text': "is I need to send that text, the text which I'm going to search for, which is selenium.", 'start': 2975.847, 'duration': 4.522}, {'end': 2985.551, 'text': "so I'll just say send keys and whatever text I want to send, I need to give it in double quotes.", 'start': 2980.369, 'duration': 5.182}, {'end': 2987.152, 'text': 'so for that selenium.', 'start': 2985.551, 'duration': 1.601}, {'end': 2987.932, 'text': 'so this is done.', 'start': 2987.152, 'duration': 0.78}, {'end': 2992.734, 'text': "so now I've entered the text here and after entering the text I need to click on this button.", 'start': 2987.932, 'duration': 4.802}, {'end': 2995.875, 'text': 'so for that I need to first know what that button is.', 'start': 2992.734, 'duration': 3.141}, {'end': 2997.896, 'text': "so let's inspect that search button.", 'start': 2995.875, 'duration': 2.021}], 'summary': "Using driver.findelementbyid to locate and send keys 'selenium' for search, then inspecting the search button.", 'duration': 39.392, 'max_score': 2958.504, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2958504.jpg'}, {'end': 3057.136, 'src': 'heatmap', 'start': 3015.286, 'weight': 0.725, 'content': [{'end': 3019.728, 'text': 'so for me to construct an xpath, uh, i will copy this class first.', 'start': 3015.286, 'duration': 4.442}, {'end': 3024.65, 'text': 'okay, and then i already have a crow path installed on my firefox.', 'start': 3019.728, 'duration': 4.922}, {'end': 3027.251, 'text': "so i'll use the crow path and first test my xpath.", 'start': 3024.65, 'duration': 2.601}, {'end': 3029.252, 'text': "so i'll just say double slash.", 'start': 3027.251, 'duration': 2.001}, {'end': 3030.673, 'text': "let's see what was that element.", 'start': 3029.252, 'duration': 1.421}, {'end': 3032.113, 'text': 'it has a span tag.', 'start': 3030.673, 'duration': 1.44}, {'end': 3040.736, 'text': "okay, so i'll have to use span and at class equal to, and i'll just copy the class name here and let's see if we can identify that element.", 'start': 3032.113, 'duration': 8.623}, {'end': 3042.177, 'text': 'yeah, so it is able to identify.', 'start': 3040.736, 'duration': 1.441}, {'end': 3044.918, 'text': "so i'll just use this xpath in my code.", 'start': 3042.177, 'duration': 2.741}, {'end': 3050.36, 'text': "so i'll go back to eclipse and i'll say driver dot, find element by dot, xpath.", 'start': 3044.918, 'duration': 5.442}, {'end': 3055.275, 'text': "the XPath which I just copied from crow path is what I'm going to paste here.", 'start': 3051.673, 'duration': 3.602}, {'end': 3057.136, 'text': 'and what is the action I need to do here?', 'start': 3055.275, 'duration': 1.861}], 'summary': 'Constructed xpath using crow path, tested and used in code', 'duration': 41.85, 'max_score': 3015.286, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY3015286.jpg'}, {'end': 3044.918, 'src': 'embed', 'start': 3019.728, 'weight': 5, 'content': [{'end': 3024.65, 'text': 'okay, and then i already have a crow path installed on my firefox.', 'start': 3019.728, 'duration': 4.922}, {'end': 3027.251, 'text': "so i'll use the crow path and first test my xpath.", 'start': 3024.65, 'duration': 2.601}, {'end': 3029.252, 'text': "so i'll just say double slash.", 'start': 3027.251, 'duration': 2.001}, {'end': 3030.673, 'text': "let's see what was that element.", 'start': 3029.252, 'duration': 1.421}, {'end': 3032.113, 'text': 'it has a span tag.', 'start': 3030.673, 'duration': 1.44}, {'end': 3040.736, 'text': "okay, so i'll have to use span and at class equal to, and i'll just copy the class name here and let's see if we can identify that element.", 'start': 3032.113, 'duration': 8.623}, {'end': 3042.177, 'text': 'yeah, so it is able to identify.', 'start': 3040.736, 'duration': 1.441}, {'end': 3044.918, 'text': "so i'll just use this xpath in my code.", 'start': 3042.177, 'duration': 2.741}], 'summary': 'Using crow path to test and use xpath for identifying elements in firefox.', 'duration': 25.19, 'max_score': 3019.728, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY3019728.jpg'}, {'end': 3107.387, 'src': 'embed', 'start': 3083.332, 'weight': 6, 'content': [{'end': 3090.136, 'text': 'now this particular element has attributes, like it has a tag h2, then it has got some class name and some other attributes.', 'start': 3083.332, 'duration': 6.804}, {'end': 3093.418, 'text': 'So I would again would like to use a XPath here.', 'start': 3090.396, 'duration': 3.022}, {'end': 3101.343, 'text': "Now this time while using the XPath, I'm going to make use of a text functionality so that I can search for this particular text.", 'start': 3093.658, 'duration': 7.685}, {'end': 3103.004, 'text': "So I'll simply copy this.", 'start': 3101.684, 'duration': 1.32}, {'end': 3104.586, 'text': "I'll go to my crow path.", 'start': 3103.425, 'duration': 1.161}, {'end': 3106.047, 'text': 'The tag is H2.', 'start': 3104.906, 'duration': 1.141}, {'end': 3107.387, 'text': "So I'll say simply H2.", 'start': 3106.267, 'duration': 1.12}], 'summary': 'Using xpath to search for h2 tag with specific attributes.', 'duration': 24.055, 'max_score': 3083.332, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY3083332.jpg'}, {'end': 3247.465, 'src': 'embed', 'start': 3217.108, 'weight': 0, 'content': [{'end': 3219.81, 'text': 'So let me use my class name, which is this.', 'start': 3217.108, 'duration': 2.702}, {'end': 3225.394, 'text': "So I'm going to create an object, obj is equal to new class name.", 'start': 3219.83, 'duration': 5.564}, {'end': 3230.457, 'text': 'And then using this object, first I need to call the method launchBrowser.', 'start': 3225.534, 'duration': 4.923}, {'end': 3233.259, 'text': "And then I'll call the method search.", 'start': 3230.717, 'duration': 2.542}, {'end': 3236.562, 'text': "And then I'll call the method closeBrowser.", 'start': 3234.4, 'duration': 2.162}, {'end': 3242.704, 'text': 'So technically our script is ready with all the functionality which we wanted to cover from our use case.', 'start': 3237.442, 'duration': 5.262}, {'end': 3247.465, 'text': "Now there are few other tweaks which I need to do this and I'll tell you why I need to do this.", 'start': 3243.064, 'duration': 4.401}], 'summary': 'Object creation and method calls for script functionality.', 'duration': 30.357, 'max_score': 3217.108, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY3217108.jpg'}, {'end': 3306.465, 'src': 'embed', 'start': 3277.222, 'weight': 1, 'content': [{'end': 3282.847, 'text': 'There are multiple ways to do that in your script and it is a part of overall synchronization what we call.', 'start': 3277.222, 'duration': 5.625}, {'end': 3286.25, 'text': 'where we use kind of implicit and explicit kind of evades.', 'start': 3283.247, 'duration': 3.003}, {'end': 3288.952, 'text': 'Now, since this is a demo for demo purpose.', 'start': 3286.65, 'duration': 2.302}, {'end': 3296.777, 'text': "what I'm going to do is I'm going to use a command called thread.sleep, and I'm just going to give an explicit weight of, say, 3 seconds.", 'start': 3288.952, 'duration': 7.825}, {'end': 3299.68, 'text': 'So you can use this mainly for the demo purposes.', 'start': 3297.138, 'duration': 2.542}, {'end': 3301.141, 'text': 'You can use a thread.sleep command.', 'start': 3299.72, 'duration': 1.421}, {'end': 3306.465, 'text': 'Now this thread.sleep command needs us to handle some exceptions.', 'start': 3301.661, 'duration': 4.804}], 'summary': 'Using thread.sleep for 3 seconds for demo purposes in script', 'duration': 29.243, 'max_score': 3277.222, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY3277222.jpg'}], 'start': 2741.248, 'title': 'Selenium automation', 'summary': 'Covers automating web testing with selenium, including launching a firefox browser, navigating to a website, identifying elements, using locating techniques, performing actions, and creating automation scripts with wait functionality and explicit wait.', 'chapters': [{'end': 2921.254, 'start': 2741.248, 'title': 'Launching firefox browser and navigating to a website', 'summary': 'Explains the process of launching a firefox browser and navigating to the simply learn website using selenium, including setting system properties, creating an instance of the firefox browser, and navigating to the website, emphasizing the importance of accurately specifying the url.', 'duration': 180.006, 'highlights': ["The chapter emphasizes the importance of setting the system property using 'system.setProperty' to specify the path to the gecko driver, highlighting the difference in paths for Mac and Windows users.", "The process of creating an instance of the Firefox browser using 'driver = new FirefoxDriver' is detailed, highlighting its role in launching the browser.", "The significance of accurately specifying the URL for navigating to the website using 'driver.get' is emphasized, stressing the best practice of copying the URL from the browser to avoid mistakes."]}, {'end': 3154.353, 'start': 2921.254, 'title': 'Automating web testing with selenium', 'summary': 'Details the process of automating web testing with selenium, including identifying elements, using locating techniques such as id and xpath, and performing actions like sending keys and clicking buttons.', 'duration': 233.099, 'highlights': ['Identifying elements and using locating techniques such as ID and XPath to automate web testing with Selenium.', 'Performing actions such as sending keys and clicking buttons on web elements.', 'Utilizing Crow Path to test and construct XPath for identifying elements.', 'Using text functionality in XPath to search for specific text within web elements.']}, {'end': 3318.329, 'start': 3155.114, 'title': 'Selenium automation scripting', 'summary': 'Covers creating a selenium automation script to launch a browser, search for a course, print the page title, and close the browser, including adding wait functionality to synchronize the script and using thread.sleep command for a 3-second explicit wait.', 'duration': 163.215, 'highlights': ['Creating a Selenium automation script to launch a browser, search for a course, print the page title, and close the browser The script includes methods to open a browser, search for a course, print the page title, and close the browser, providing a comprehensive automation process.', "Adding wait functionality to synchronize the script The script incorporates a wait functionality to synchronize the script, ensuring that the necessary elements are loaded before performing further actions, enhancing the script's reliability and effectiveness.", 'Using thread.sleep command for a 3-second explicit wait A thread.sleep command with an explicit 3-second wait is implemented for demo purposes, allowing a controlled pause in the script execution, useful for showcasing specific functionalities and handling exceptions.']}], 'duration': 577.081, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY2741248.jpg', 'highlights': ['Creating a Selenium automation script to launch a browser, search for a course, print the page title, and close the browser The script includes methods to open a browser, search for a course, print the page title, and close the browser, providing a comprehensive automation process.', "Adding wait functionality to synchronize the script The script incorporates a wait functionality to synchronize the script, ensuring that the necessary elements are loaded before performing further actions, enhancing the script's reliability and effectiveness.", 'Using thread.sleep command for a 3-second explicit wait A thread.sleep command with an explicit 3-second wait is implemented for demo purposes, allowing a controlled pause in the script execution, useful for showcasing specific functionalities and handling exceptions.', 'Identifying elements and using locating techniques such as ID and XPath to automate web testing with Selenium.', 'Performing actions such as sending keys and clicking buttons on web elements.', 'Utilizing Crow Path to test and construct XPath for identifying elements.', 'Using text functionality in XPath to search for specific text within web elements.', "The chapter emphasizes the importance of setting the system property using 'system.setProperty' to specify the path to the gecko driver, highlighting the difference in paths for Mac and Windows users.", "The process of creating an instance of the Firefox browser using 'driver = new FirefoxDriver' is detailed, highlighting its role in launching the browser.", "The significance of accurately specifying the URL for navigating to the website using 'driver.get' is emphasized, stressing the best practice of copying the URL from the browser to avoid mistakes."]}, {'end': 4018.513, 'segs': [{'end': 3511.651, 'src': 'embed', 'start': 3486.147, 'weight': 0, 'content': [{'end': 3491.432, 'text': 'but in real time environment you always have the need to run test cases in distributed environment,', 'start': 3486.147, 'duration': 5.285}, {'end': 3493.975, 'text': 'and that is where Selenium Grid comes into picture.', 'start': 3491.432, 'duration': 2.543}, {'end': 3497.178, 'text': 'So Grid was conceptualized and developed by Patrick.', 'start': 3494.255, 'duration': 2.923}, {'end': 3503.264, 'text': 'The main objective is to minimize test execution time and how? By running your test parallelly.', 'start': 3497.498, 'duration': 5.766}, {'end': 3511.651, 'text': 'So design is in such a way that commands are distributed on multiple machines where you want to run tests and all these are executed simultaneously.', 'start': 3503.464, 'duration': 8.187}], 'summary': 'Selenium grid minimizes test execution time by running tests parallelly on multiple machines.', 'duration': 25.504, 'max_score': 3486.147, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY3486147.jpg'}, {'end': 3868.94, 'src': 'embed', 'start': 3844.212, 'weight': 1, 'content': [{'end': 3850.614, 'text': "it's just a matter of time that you can master the skill of writing your automation scripts reusability, of course.", 'start': 3844.212, 'duration': 6.402}, {'end': 3856.756, 'text': 'like any programming language, it provides you a mechanism to reuse your code and avoid redundancy.', 'start': 3850.614, 'duration': 6.142}, {'end': 3861.358, 'text': "Well again, let's see an overall what are the limitations of Selenium itself?", 'start': 3857.176, 'duration': 4.182}, {'end': 3865.679, 'text': 'Now, since Selenium is open source, that is one of the biggest advantage.', 'start': 3861.938, 'duration': 3.741}, {'end': 3868.94, 'text': 'Now there is a little disadvantage which comes with that.', 'start': 3866.139, 'duration': 2.801}], 'summary': 'Master writing reusable automation scripts using selenium, an open source tool.', 'duration': 24.728, 'max_score': 3844.212, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY3844212.jpg'}, {'end': 3913.324, 'src': 'embed', 'start': 3882.967, 'weight': 2, 'content': [{'end': 3886.91, 'text': 'It cannot handle the mobile applications or even the desktop application.', 'start': 3882.967, 'duration': 3.943}, {'end': 3892.274, 'text': 'However, it does provide support for integrating tools like APM for mobile testing.', 'start': 3887.17, 'duration': 5.104}, {'end': 3897.558, 'text': 'Selenium is not very good with image testing, especially designed for your web application tools.', 'start': 3892.714, 'duration': 4.844}, {'end': 3902.58, 'text': 'Again, we have tools like AutoIT and CQLE which can be integrated with Selenium.', 'start': 3898.018, 'duration': 4.562}, {'end': 3913.324, 'text': 'Selenium WebDriver has limited reporting capability but again it does provide us support for integrating tools like TestNG, ReportNG and ExtentReport.', 'start': 3902.96, 'duration': 10.364}], 'summary': 'Selenium lacks support for mobile and desktop apps, but integrates with apm; limited image testing capability; integrates with tools like autoit and cqle; offers limited reporting, but supports integration with testng, reportng, and extentreport.', 'duration': 30.357, 'max_score': 3882.967, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY3882967.jpg'}], 'start': 3318.329, 'title': 'Selenium 3.0 training, selenium grid, advantages, and limitations', 'summary': "Covers explicit waits in selenium scripts, execution demonstration, introduction to selenium grid for parallel test execution on multiple machines, its limitations like poor scalability and lack of cloud optimization, and also discusses selenium's advantages including speed, accuracy, open-source nature, wide language and browser support, and reusability, while highlighting its limitations such as lack of technical support, inability to handle mobile and desktop applications, and limited reporting and test management capabilities.", 'chapters': [{'end': 3745.672, 'start': 3318.329, 'title': 'Selenium 3.0 training and selenium grid', 'summary': 'Covers the usage of explicit waits in selenium scripts for demo purposes, demonstration of selenium script execution, introduction to selenium grid for parallel test execution on multiple machines, and its limitations including poor scalability and lack of cloud optimization.', 'duration': 427.343, 'highlights': ['The chapter covers the usage of explicit waits in Selenium scripts for demo purposes, such as adding a 3 seconds wait to observe script execution, and saving and running the script to observe its behavior on the browser.', 'Introduction to Selenium Grid, its objective to minimize test execution time by running tests parallelly on multiple machines, and its flexibility to integrate with reporting tools to present test reports in a good looking format.', "Explanation of Selenium Grid's architecture including the hub and node concept for achieving parallel execution, configuration of the master machine as the hub, creation of nodes specific to machine requirements, and controlling test execution through the master machine.", "Discussion of Selenium Grid's limitations including relatively poor scalability compared to modern applications, static configuration requiring reconfiguration for changes, and lack of cloud optimization.", 'The chapter also mentions the need to refer to a video on Simply Learn for more details about how the grid works and its limitations.', 'The usage of explicit waits in Selenium scripts, such as adding a 3 seconds wait for demo purposes, and saving and running the script to observe its behavior on the browser.']}, {'end': 4018.513, 'start': 3745.672, 'title': 'Selenium: advantages and limitations', 'summary': 'Discusses the advantages of selenium, such as speed, accuracy, open-source nature, wide language and browser support, and reusability, while also highlighting its limitations, including lack of technical support, inability to handle mobile and desktop applications, and limited reporting and test management capabilities.', 'duration': 272.841, 'highlights': ['Selenium provides speed and accuracy, allowing faster test execution and minimal human errors, enabling parallel execution of large volumes of tests within a short time frame. Selenium enables faster test execution and minimal human errors, allowing parallel execution of large test volumes within a short time frame.', 'Selenium is open-source, supporting a wide spectrum of programming languages, all browsers, and operating systems, promoting reusability and broad test coverage. Selenium is open-source, supporting various programming languages, browsers, and operating systems, promoting reusability and broad test coverage.', "Selenium's limitations include lack of technical support due to its open-source nature, inability to handle mobile and desktop applications, limited reporting capability, and absence of built-in test management. Selenium's limitations include lack of technical support, inability to handle mobile and desktop applications, limited reporting capability, and absence of built-in test management."]}], 'duration': 700.184, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/cobEbkTwbwY/pics/cobEbkTwbwY3318329.jpg', 'highlights': ['Selenium Grid allows parallel test execution on multiple machines, integrating with reporting tools.', "Selenium's advantages include speed, accuracy, open-source nature, wide language and browser support, and reusability.", "Selenium's limitations encompass poor scalability, lack of cloud optimization, lack of technical support, inability to handle mobile and desktop applications, and limited reporting and test management capabilities."]}], 'highlights': ['Selenium has evolved to become one of the most popular web application automation tools, offering advantages and limitations.', 'Manual testing involves the physical execution of test cases against various applications, allowing for practical testing without the need for knowledge of a testing tool.', 'The process of manual testing entails writing multiple test cases, using various datasets, and testing multiple links and elements of the web page, including accessibility and performance testing.', 'The chapter emphasizes the importance of understanding the transition from manual testing to automation and how automation tools overcome the challenges of manual testing.', 'Selenium benefits: Automation with Selenium results in speedy execution, accuracy, cost-effectiveness, and platform independence, and it supports different programming languages and operating systems, making it a popular tool for testing web applications.', 'Selenium IDE: It is an integrated development environment with record and playback functionality, available as a Firefox plugin and Chrome extension, mainly used for prototyping, and has been revamped with features like reusability of test cases, parallel test case execution, control flow statements, and improved locator functionality.', 'Selenium history: Selenium version 1 had IDE, RC, and GRID components, while version 2 had both WebDriver and RC, but from version 3 onwards, RC was deprecated and WebDriver became the primary component, and the upcoming 4-dot version is expected to have more features and enhancements.', 'Selenium RC was completely removed in version 3.0 and was replaced by WebDriver, indicating its obsolescence in the Selenium ecosystem.', 'Shortcomings of Selenium RC including slow execution and complicated architecture Selenium RC requires an additional setup, has a complicated architecture due to the intermediary RC server, and suffers from slow execution due to the full trip for every command.', 'WebDriver, introduced in 2006, is a cross-platform testing platform, capable of running on Linux, Windows, Mac, and Ubuntu machines.', 'WebDriver interacts directly with the browser, leading to faster execution compared to Selenium RC, as it does not require a core engine.', 'Each browser has its own driver responsible for interpreting instructions, resulting in efficient execution.', 'Selenium RC got deprecated and is no longer available in the latest Selenium versions, making WebDriver the preferred choice for test automation.', 'WebDriver supports various programming languages and frameworks like TestNG, JUnit, NUnit, and ReportNG, making it a complete automation solution for web applications.', 'Selenium provides language bindings for various supported languages available for download on the website, enabling users to write automation scripts accordingly.', 'Selenium offers REST APIs and JSON wire protocol for interacting with the browser through script execution, facilitating the exchange of data over the web.', 'WebDriver limitations include inability to test mobile applications and only support for sequential execution, which can be overcome by integrating APM for mobile automation and using Selenium Grid for parallel execution, addressing the need for running the same test cases on web and mobile browsers.', 'Selenium WebDriver has limited reporting capability, but it supports tools like TestNG, ReportNG, and ExtentReport for integrating and generating comprehensive reports, enhancing its reporting capabilities.', 'The use case involves navigating to the official SimplyLearn website, searching for Selenium, and clicking on the Selenium 3.0 training.', 'The chapter emphasizes the importance of importing necessary jar files and downloading driver files for Selenium, with a focus on Firefox, providing a step-by-step guide for obtaining and organizing driver files for different browsers, highlighting the need to create a directory for drivers and import the required libraries.', 'It provides a step-by-step demonstration of creating methods for launching the Firefox browser, searching for Selenium training, and closing the browser, with a focus on the public static void main method calling these methods one after the other, showcasing the practical use case of the methods created.', 'Creating a Selenium automation script to launch a browser, search for a course, print the page title, and close the browser The script includes methods to open a browser, search for a course, print the page title, and close the browser, providing a comprehensive automation process.', "Adding wait functionality to synchronize the script The script incorporates a wait functionality to synchronize the script, ensuring that the necessary elements are loaded before performing further actions, enhancing the script's reliability and effectiveness.", 'Using thread.sleep command for a 3-second explicit wait A thread.sleep command with an explicit 3-second wait is implemented for demo purposes, allowing a controlled pause in the script execution, useful for showcasing specific functionalities and handling exceptions.', 'Selenium Grid allows parallel test execution on multiple machines, integrating with reporting tools.', "Selenium's advantages include speed, accuracy, open-source nature, wide language and browser support, and reusability.", "Selenium's limitations encompass poor scalability, lack of cloud optimization, lack of technical support, inability to handle mobile and desktop applications, and limited reporting and test management capabilities."]}