title
Selenium Full Course - Learn Selenium in 12 Hours | Selenium Tutorial For Beginners | Edureka

description
πŸ”₯Edureka Selenium Training (Use Code "π˜πŽπ”π“π”ππ„πŸπŸŽ"): https://www.edureka.co/selenium-certification-training This Selenium Full Course video by Edureka will help you learn everything there is to know about Selenium. This Selenium tutorial for beginners will help you learn Selenium in 12 hrs. Concepts related to Selenium WebDriver, IDE, Grid & Selenium's industry implementation methodologies are extensively covered in this video. Below are the topics covered in this Edureka Selenium tutorial for beginners: 00:00 Introduction 02:30 What is Selenium? 23:16 Download & Install Selenium 31:34 WebElement in Selenium 52:15 How to Write & Run a Test Case in Selenium 1:14:05 Selenium WebDriver Architecture 1:35:38 Locators In Selenium Webdriver 1:53:58 CSS Selectors in Selenium 2:15:49 XPath in Selenium 2:38:42 Waits in Selenium 3:00:28 Handling Alerts in Selenium 3:18:31 Handle Exceptions in Selenium Webdriver 3:33:14 Listeners In Selenium 3:56:54 TestNG Annotations in Selenium 4:22:41 Action class in Selenium 4:44:00 Robot Class in Selenium 4:57:56 Selenium in the Market 4:58:06 Selenium vs QTP/ UFT 5:07:44 Selenium vs RPA 5:13:01 Selenium Suite of tools 5:13:09 Selenium IDE Tutorial 5:44:21 Selenium Grid tutorial 6:37:16 Cross Browser testing 6:56:32 Selenium Industry Implementation 6:56:38 Selenium Projects 7:36:23 DataProvider in TestNG 7:49:58 Selenium Frameworks 8:34:06 Selenium Cucumber 8:55:51 Page Object Model in Selenium 9:17:13 Database testing using Selenium 9:38:55 Selenium Jenkins Integration 10:22:01 Careers in Selenium Automation Testing 10:22:10 Careers in Automation Testing in 2020 10:39:35 Top 5 Automation Testing Trends in 2020 10:48:35 Selenium Interview Preparation 10:48:44 Selenium Interview Questions 11:24:49 Selenium Test Engineer Resume πŸ”ΉSelenium playlist: https://youtu.be/Wd8SxdtIx4w Subscribe to our channel to get video updates. Hit the subscribe button above: https://goo.gl/6ohpTV ------------------------------------------------ πŸ”΅Test Automation Engineer Masters Program: https://bit.ly/3a9Oc77 🟣Selenium Online Training: https://bit.ly/2WAetYA πŸ”΅Appium Online Training: https://bit.ly/2QDMR0R 🟣Continuous Testing in DevOps Training: https://bit.ly/2U92lvJ πŸ”΅JMeter Online Training: https://bit.ly/3dkqw1Z πŸ“’πŸ“’ 𝐓𝐨𝐩 𝟏𝟎 π“π«πžπ§ππ’π§π  π“πžπœπ‘π§π¨π₯𝐨𝐠𝐒𝐞𝐬 𝐭𝐨 π‹πžπšπ«π§ 𝐒𝐧 πŸπŸŽπŸπŸ’ π’πžπ«π’πžπ¬ πŸ“’πŸ“’ ⏩ NEW Top 10 Technologies To Learn In 2024 - https://www.youtube.com/watch?v=vaLXPv0ewHU Edureka Community: https://bit.ly/EdurekaCommunity Castbox: https://castbox.fm/networks/505?country=in SlideShare: https://www.slideshare.net/EdurekaIN Instagram: https://www.instagram.com/edureka_learning/ Facebook: https://www.facebook.com/edurekaIN/ Twitter: https://twitter.com/edurekain LinkedIn: https://www.linkedin.com/company/edureka #edureka #seleniumEdureka #seleniumFullCourse #seleniumWebdriver #seleniumAutomationTesting #SeleniumTutorial #SeleniumTraining ------------------------------------------------ About the Course Edureka’s Test Automation Masters online training is designed to help you achieve success in optimizing your test automation strategies and methodology. You will learn how to perform software testing in all phases of the software life cycle, and automation of any web-based application using Selenium. This program includes training on continuous testing in DevOps, performance testing using JMeter, and mobile app testing using Appium. It also offers programming courses such as Python Scripting, Ruby on Rails, Ruby with Cucumber, SQL essentials, and Java essential. During this course, our expert DevOps instructors will help you: 1. Learn software testing and understand different types of testing 2. Learn about different test design techniques used to test software, test execution, and analysis of the test outcome 3. Gain insight into the evolution of Selenium, get an overview of Selenium 3.3 and its components 4. Understand the importance of DevOps in Test Automation 5. Learn concepts like XPath Functions, TestNG Framework 6. Grasp concepts like Page Object Model and Page Factory 7. Understand how to implement continuous testing using Selenium 8. Learn how to perform continuous integration with Jenkins by building and automating test cases using Maven 9. Understand how to perform Performance Testing, Stress & Load Testing using JMeter 10. Learn how to integrate Selenium Webdriver with Apache JMeter 11. Learn different approaches of mobile testing 12. Understand how to use Appium to automate the application management actions, automate the gestures and offer network management and performance analysis Along with the above-mentioned topics, you will also get additional courses on CI/CD in DevOps, Jira, Java basics, version control with Git, and third-party tools such as Jenkins, AutoIT, Sikuli and Maven. ------------------------------------------------ For more information, please write back to us at sales@edureka.in or call us at IND: 9606058406 / US: 18338555775 (toll free).

detail
{'title': 'Selenium Full Course - Learn Selenium in 12 Hours | Selenium Tutorial For Beginners | Edureka', 'heatmap': [{'end': 2101.551, 'start': 1246.674, 'weight': 0.762}, {'end': 33493.614, 'start': 33066.46, 'weight': 0.876}], 'summary': 'This 12-hour selenium tutorial by edureka covers 10 modules, emphasizing web-based automation testing, multiple programming language support, selenium webdriver, and the comparison of automation tools. it also discusses the history and setup of selenium, web automation basics, selenium advantages, architecture, element locating, xpath usage, handling alerts and exceptions, testng implementation, automation techniques, selenium ide, selenium grid, frameworks, cucumber integration, page object model benefits, jenkins role, and career prospects with a global market size of 28.8 billion dollars by 2024 and an average annual salary of $90,000 in the us.', 'chapters': [{'end': 190.675, 'segs': [{'end': 105.362, 'src': 'embed', 'start': 23.126, 'weight': 0, 'content': [{'end': 31.714, 'text': 'The Selenium WebDriver is a web-based automation testing framework which can test web pages initiated on various web browsers and operating systems.', 'start': 23.126, 'duration': 8.588}, {'end': 40.902, 'text': 'In fact, you can also write test scripts in different programming languages such as Java, Perl, Python, Ruby, C Sharp, PHP, and JavaScript.', 'start': 32.134, 'duration': 8.768}, {'end': 48.229, 'text': 'Following its demand in the market, we have come up with this Selenium framework full course, which is divided into 10 modules.', 'start': 41.562, 'duration': 6.667}, {'end': 54.636, 'text': 'The first module is a tutorial series covering all the must-know basic concepts in Selenium WebDriver.', 'start': 48.69, 'duration': 5.946}, {'end': 64.623, 'text': 'Some of those include locators, CSS selectors, XPath, weights, handling alerts, handling exceptions, TestNG annotations, Action class and Robot class.', 'start': 54.996, 'duration': 9.627}, {'end': 72.167, 'text': 'In the second module, you will get a picture of the automation, testing, market and how Selenium fares compared to other tools.', 'start': 65.084, 'duration': 7.083}, {'end': 79.37, 'text': 'The third module will give you a quick introduction of the remaining Selenium suite of tools such as IDE and Grid.', 'start': 72.587, 'duration': 6.783}, {'end': 86.913, 'text': 'In module 4, you will learn how Selenium is used in the industry and you will also learn about a few real-time projects,', 'start': 79.83, 'duration': 7.083}, {'end': 89.534, 'text': 'popular frameworks and tools it is used with.', 'start': 86.913, 'duration': 2.621}, {'end': 98.218, 'text': 'Module 5 will help you understand various career paths in automation testing and the top 5 automation testing trends to be aware of.', 'start': 90.234, 'duration': 7.984}, {'end': 105.362, 'text': 'We will be wrapping up this full course with a section dedicated to helping you prepare for the most frequently asked interview questions.', 'start': 98.619, 'duration': 6.743}], 'summary': 'Selenium webdriver offers a comprehensive automation testing framework in 10 modules, covering basic concepts, industry usage, career paths, and interview preparation.', 'duration': 82.236, 'max_score': 23.126, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw23126.jpg'}, {'end': 190.675, 'src': 'embed', 'start': 129.817, 'weight': 1, 'content': [{'end': 138.623, 'text': 'As the technology is evolving towards the digital era testing a software or an application is becoming a necessity rather than a requirement.', 'start': 129.817, 'duration': 8.806}, {'end': 143.338, 'text': "We're going to be discussing about one of the latest Trends in the market that is selenium.", 'start': 139.255, 'duration': 4.083}, {'end': 149.242, 'text': 'So this video will mainly focus on helping you guys understand what exactly is selenium.', 'start': 143.738, 'duration': 5.504}, {'end': 153.265, 'text': "But before we get any further with this session, let's take a look at the agenda.", 'start': 149.683, 'duration': 3.582}, {'end': 161.831, 'text': "So, firstly, we'll start off with talking about the history behind the growth of selenium, and also we'll take a look at what exactly is selenium,", 'start': 153.645, 'duration': 8.186}, {'end': 169.959, 'text': 'its definition, its features and components, and, finally, will wrap up this session by taking a look at a simple demo, right?', 'start': 161.831, 'duration': 8.128}, {'end': 172.881, 'text': 'So these are the topics, guys, and also, on this note,', 'start': 170.119, 'duration': 2.762}, {'end': 180.809, 'text': "don't forget to subscribe to edureka YouTube channel and hit the bell icon to never miss any notifications from us on trending Technologies.", 'start': 172.881, 'duration': 7.928}, {'end': 188.453, 'text': "Also if you're someone who's looking for an online certification training in automation testing check out the link in the description box below.", 'start': 181.369, 'duration': 7.084}, {'end': 190.675, 'text': "So let's get started, guys.", 'start': 188.894, 'duration': 1.781}], 'summary': 'Selenium is a trending technology for software testing, covering its history, definition, features, components, and a demo.', 'duration': 60.858, 'max_score': 129.817, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw129817.jpg'}], 'start': 7.281, 'title': 'Selenium course overview', 'summary': "Introduces edureka's selenium full course, covering 10 modules, web-based automation testing, multiple programming language support, and comprehensive coverage of selenium webdriver. it also emphasizes the importance of software testing, latest trends in selenium, and offers subscription and certification links.", 'chapters': [{'end': 105.362, 'start': 7.281, 'title': 'Selenium full course overview', 'summary': "Introduces edureka's selenium full course, covering 10 modules with an emphasis on web-based automation testing, multiple programming language support, and comprehensive coverage of selenium webdriver concepts and industry applications.", 'duration': 98.081, 'highlights': ['The course covers 10 modules and emphasizes web-based automation testing and support for multiple programming languages.', 'Selenium WebDriver can test web pages on various web browsers and operating systems.', 'The first module covers basic concepts in Selenium WebDriver such as locators, CSS selectors, XPath, handling alerts, and TestNG annotations.', "The course provides insights into the automation testing market, Selenium's comparison with other tools, and an introduction to the Selenium suite of tools.", 'Module 5 delves into various career paths in automation testing and the top 5 automation testing trends to be aware of.']}, {'end': 190.675, 'start': 105.843, 'title': 'Introduction to selenium', 'summary': 'Discusses the importance of software testing in the digital era, focusing on the latest trend of selenium, covering its history, definition, features, components, and a demonstration, while emphasizing subscription and certification links. it encourages viewers to subscribe and provides a link for an online certification in selenium.', 'duration': 84.832, 'highlights': ['The importance of software testing in the digital era is emphasized, stating that it is becoming a necessity rather than a requirement.', 'The video focuses on explaining the latest trend in the market, which is Selenium, and aims to help the audience understand what Selenium is.', 'The agenda for the session includes discussing the history, definition, features, components of Selenium, and concludes with a simple demo.', 'Viewers are encouraged to subscribe to the Edureka YouTube channel and are prompted to never miss any notifications on trending technologies.', 'A link for online certification training in automation testing is provided, urging interested individuals to check it out.']}], 'duration': 183.394, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw7281.jpg', 'highlights': ['The course covers 10 modules and emphasizes web-based automation testing and support for multiple programming languages.', 'The importance of software testing in the digital era is emphasized, stating that it is becoming a necessity rather than a requirement.', 'Module 5 delves into various career paths in automation testing and the top 5 automation testing trends to be aware of.', 'Selenium WebDriver can test web pages on various web browsers and operating systems.', 'The first module covers basic concepts in Selenium WebDriver such as locators, CSS selectors, XPath, handling alerts, and TestNG annotations.', "The course provides insights into the automation testing market, Selenium's comparison with other tools, and an introduction to the Selenium suite of tools.", 'The video focuses on explaining the latest trend in the market, which is Selenium, and aims to help the audience understand what Selenium is.', 'The agenda for the session includes discussing the history, definition, features, components of Selenium, and concludes with a simple demo.', 'Viewers are encouraged to subscribe to the Edureka YouTube channel and are prompted to never miss any notifications on trending technologies.', 'A link for online certification training in automation testing is provided, urging interested individuals to check it out.']}, {'end': 1331.682, 'segs': [{'end': 282.618, 'src': 'embed', 'start': 208.124, 'weight': 0, 'content': [{'end': 216.706, 'text': 'So this selenium was originally developed by Jason Huggins in the year 2004 as an internal tool while he was working at ThoughtWorks.', 'start': 208.124, 'duration': 8.582}, {'end': 224.852, 'text': 'So Huggins later joined the programmers or the testers at thought works and try to develop selenium RC.', 'start': 217.489, 'duration': 7.363}, {'end': 231.994, 'text': 'So this tool was developed in the year 2004 by a two developers namely Jason Huggins and Paul Hammond.', 'start': 225.272, 'duration': 6.722}, {'end': 235.535, 'text': 'So it was open sourced in the same year guys.', 'start': 232.494, 'duration': 3.041}, {'end': 242.678, 'text': 'So selenium RC was the first one to be found among the web driver grid and selenium ID.', 'start': 235.595, 'duration': 7.083}, {'end': 243.658, 'text': 'in 2005,', 'start': 242.678, 'duration': 0.98}, {'end': 254.181, 'text': 'Dan fabulous and Nelson Sproul made an offer to accept the series of patches that would transform selenium RC into what it is known for today.', 'start': 243.658, 'duration': 10.523}, {'end': 258.183, 'text': 'So in these days we call it a selenium web driver, right?', 'start': 254.641, 'duration': 3.542}, {'end': 267.248, 'text': 'So Dan fabulous and Nelson sprawl are the major reason for giving us the idea about how RC works now.', 'start': 258.704, 'duration': 8.544}, {'end': 274.813, 'text': 'correspondingly, India 2007 Huggins joined Google and also he helped in developing the stabilization process of RC.', 'start': 267.248, 'duration': 7.565}, {'end': 282.618, 'text': 'and at the same time Simon Stewart at ThoughtWorks developed a superior browser automation tool called the web driver.', 'start': 275.814, 'duration': 6.804}], 'summary': 'Selenium, developed in 2004 by jason huggins and paul hammond, evolved into webdriver with significant contributions in 2005 and 2007.', 'duration': 74.494, 'max_score': 208.124, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw208124.jpg'}, {'end': 430.781, 'src': 'embed', 'start': 403.748, 'weight': 11, 'content': [{'end': 413.092, 'text': 'and the selenium test scripts can be integrated with the tools such as test energy J unit and so on for managing test cases and generating reports.', 'start': 403.748, 'duration': 9.344}, {'end': 418.694, 'text': 'It can also be integrated with Maven Jenkins and talker to achieve continuous testing.', 'start': 413.492, 'duration': 5.202}, {'end': 422.656, 'text': 'So why exactly software testing or automation testing is required.', 'start': 419.234, 'duration': 3.422}, {'end': 430.781, 'text': "Today's world of technology is completely dominated by machines and their behavior is controlled by the software empowering it.", 'start': 423.228, 'duration': 7.553}], 'summary': 'Selenium test scripts integrate with tools for test case management and generating reports, and can be integrated with maven, jenkins, and docker for continuous testing. automation testing is essential in a technology-dominated world.', 'duration': 27.033, 'max_score': 403.748, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw403748.jpg'}, {'end': 488.297, 'src': 'embed', 'start': 462.881, 'weight': 5, 'content': [{'end': 471.906, 'text': 'Why not any other tool so some major uses I would say or benefits of using selenium is it is easy to automate testing across web applications.', 'start': 462.881, 'duration': 9.025}, {'end': 478.048, 'text': "Suppose you're working on or testing any of the software application, that is, that based application,", 'start': 472.086, 'duration': 5.962}, {'end': 483.711, 'text': "I say and you find a bug and you don't know how to resolve it until and unless you've come across selenium.", 'start': 478.048, 'duration': 5.663}, {'end': 488.297, 'text': 'So selenium is one such tool which acts like a key to our success rate.', 'start': 484.275, 'duration': 4.022}], 'summary': 'Selenium is beneficial for automating testing across web applications, aiding in bug resolution and boosting success rates.', 'duration': 25.416, 'max_score': 462.881, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw462881.jpg'}, {'end': 616.507, 'src': 'embed', 'start': 590.667, 'weight': 3, 'content': [{'end': 601.975, 'text': 'So selenium can be considered as a leading cloud-based testing platform which helps testers to record their actions and export them as a reusable script and easy to use interface.', 'start': 590.667, 'duration': 11.308}, {'end': 607.92, 'text': 'and, like you already know, that it supports operating systems, browsers and different programming languages.', 'start': 602.675, 'duration': 5.245}, {'end': 616.507, 'text': 'right?. Also, apart from this, it also supports parallel test execution, which reduces time and increases the efficiency of the test cases.', 'start': 607.92, 'duration': 8.587}], 'summary': 'Selenium is a leading cloud-based testing platform with support for operating systems, browsers, and programming languages, as well as parallel test execution for increased efficiency.', 'duration': 25.84, 'max_score': 590.667, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw590667.jpg'}, {'end': 690.212, 'src': 'embed', 'start': 655.408, 'weight': 6, 'content': [{'end': 657.829, 'text': 'So we have namely four components guys.', 'start': 655.408, 'duration': 2.421}, {'end': 666.933, 'text': "We have something called selenium ID selenium RC selenium webdriver and selenium grid now, let's understand them in detail.", 'start': 658.029, 'duration': 8.904}, {'end': 670.435, 'text': 'So talking about selenium ID.', 'start': 667.572, 'duration': 2.863}, {'end': 682.345, 'text': 'selenium ID, or integrated development environment, is primarily a record run tool that a test case developer uses to develop selenium test cases.', 'start': 670.435, 'duration': 11.91}, {'end': 690.212, 'text': 'selenium ID is a simple record and playback kind of tool, which comes as an add-on for Firefox only,', 'start': 682.345, 'duration': 7.867}], 'summary': 'Selenium has four components: selenium id, selenium rc, selenium webdriver, and selenium grid. selenium id is a record and playback tool primarily used for developing test cases in firefox.', 'duration': 34.804, 'max_score': 655.408, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw655408.jpg'}, {'end': 1021.254, 'src': 'embed', 'start': 989.661, 'weight': 7, 'content': [{'end': 998.083, 'text': "Okay, I'm going to create a new project go to new Java project and I'm going to name selenium.", 'start': 989.661, 'duration': 8.422}, {'end': 1001.221, 'text': 'All right, finish.', 'start': 999.56, 'duration': 1.661}, {'end': 1009.947, 'text': 'Okay, so these are Java libraries which has been added and if you want to add the Selenium jar files into the system,', 'start': 1001.241, 'duration': 8.706}, {'end': 1017.232, 'text': "just right click on this folder which you've created and go to build path and configure build path.", 'start': 1009.947, 'duration': 7.285}, {'end': 1019.733, 'text': "So I'm gonna add external library.", 'start': 1017.712, 'duration': 2.021}, {'end': 1021.254, 'text': 'Okay, now this.', 'start': 1019.753, 'duration': 1.501}], 'summary': "Creating a new java project named 'selenium' and adding selenium jar files to the system.", 'duration': 31.593, 'max_score': 989.661, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw989661.jpg'}, {'end': 1170.592, 'src': 'embed', 'start': 1141.324, 'weight': 9, 'content': [{'end': 1142.785, 'text': "I'm going to be inspecting this.", 'start': 1141.324, 'duration': 1.461}, {'end': 1148.027, 'text': 'Okay, so you can see select class.', 'start': 1145.306, 'duration': 2.721}, {'end': 1151.34, 'text': 'Name is given ID is given.', 'start': 1149.099, 'duration': 2.241}, {'end': 1155.243, 'text': "So I'm going to be considering ID, because ID is easier to locate.", 'start': 1151.42, 'duration': 3.823}, {'end': 1163.307, 'text': 'so selenium makes use of these locators, which are called ID name, class name, CSS selectors, link text and so on.', 'start': 1155.243, 'duration': 8.064}, {'end': 1170.592, 'text': 'So there are close to six to seven locators which are used and also we are making use of these to locate any elements on the webpage.', 'start': 1163.367, 'duration': 7.225}], 'summary': 'Selenium uses 6-7 locators, including id, to locate webpage elements.', 'duration': 29.268, 'max_score': 1141.324, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw1141324.jpg'}, {'end': 1331.682, 'src': 'embed', 'start': 1302.591, 'weight': 8, 'content': [{'end': 1313.657, 'text': 'opens facebook.com and it selects or searches for birthday, selects 30 and for the month that selects the September,', 'start': 1302.591, 'duration': 11.066}, {'end': 1317.018, 'text': 'and for the year it selects 2024..', 'start': 1313.657, 'duration': 3.361}, {'end': 1320.42, 'text': "I think it's not there on the list which is present over there.", 'start': 1317.018, 'duration': 3.402}, {'end': 1321.401, 'text': "So let's see.", 'start': 1320.86, 'duration': 0.541}, {'end': 1325.661, 'text': 'Okay Yeah 2024 was not visible guys.', 'start': 1321.961, 'duration': 3.7}, {'end': 1331.682, 'text': "Let's see what all are visible and let's select accordingly.", 'start': 1327.261, 'duration': 4.421}], 'summary': "On facebook, a user selects september 30, 2024, but it's not visible. they proceed to see other options.", 'duration': 29.091, 'max_score': 1302.591, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw1302591.jpg'}], 'start': 190.675, 'title': 'History and setup of selenium', 'summary': 'Discusses the history of selenium from its development in 2004 by jason huggins and paul hammond to the current version, selenium 3, and its upcoming release of selenium 4. it also covers the process of setting up a new java project for selenium, including adding jar files, configuring build path, setting up webdriver, and running a test on facebook.', 'chapters': [{'end': 282.618, 'start': 190.675, 'title': 'History of selenium', 'summary': 'Discusses the history of selenium, starting with its development in 2004 by jason huggins and paul hammond, the transformation of selenium rc into selenium webdriver in 2005, and the key contributors such as dan fabulich, nelson sproul, and simon stewart.', 'duration': 91.943, 'highlights': ['Selenium was developed by Jason Huggins in 2004 as an internal tool at ThoughtWorks, later joined by Paul Hammond, and open sourced in the same year.', 'In 2005, Dan Fabulich and Nelson Sproul contributed patches that transformed Selenium RC into Selenium WebDriver.', 'Simon Stewart at ThoughtWorks developed a superior browser automation tool called WebDriver.']}, {'end': 989.641, 'start': 282.938, 'title': 'History and features of selenium', 'summary': 'Covers the history of selenium from its initial development in 2004 to the current version, selenium 3, and its upcoming release of selenium 4, along with its features such as open-source nature, wide language support, and easy implementation, and also discusses the components of selenium, including selenium id, rc, webdriver, and grid.', 'duration': 706.703, 'highlights': ['The history of Selenium from its initial development in 2004 to the current version, Selenium 3, and its upcoming release of Selenium 4, was discussed, with a hint of its release given in a 2009 conference.', 'Selenium is an open-source tool used for automating tests on web browsers, supporting various browsers and OS platforms, and can be integrated with test management tools and continuous testing frameworks like Maven, Jenkins, and Docker.', 'The major uses and benefits of using Selenium include easy automation of testing across web applications, wide language support including C, C++, Java, and Python, and easy implementation of test cases across different platforms.', "Selenium's notable features include being a leading cloud-based testing platform, supporting parallel test execution, requiring fewer resources, and having categorized commands for easier implementation.", 'The components of Selenium, namely Selenium ID, RC, WebDriver, and Grid, were discussed in detail with their respective functionalities, such as recording and playback, cross-browser testing, cross-platform testing, and parallel execution on remote machines.']}, {'end': 1331.682, 'start': 989.661, 'title': 'Setting up selenium java project', 'summary': 'Covers the process of setting up a new java project for selenium, adding selenium jar files, configuring build path, setting up webdriver, locating web elements, selecting values from dropdowns, and running a test on facebook, with issues encountered and resolved during the process.', 'duration': 342.021, 'highlights': ['Setting up a new Java project for Selenium and adding Selenium jar files, configuring build path', 'Setting system property for webdriver.chrome.driver and instantiating a new Chrome driver', 'Locating web elements and using select class to select values from dropdowns', 'Running a test on Facebook, encountering issues with selecting year from dropdown, resolving the issue and running the test again']}], 'duration': 1141.007, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw190675.jpg', 'highlights': ['Selenium was developed by Jason Huggins in 2004 at ThoughtWorks, open sourced in the same year', 'Simon Stewart at ThoughtWorks developed a superior browser automation tool called WebDriver', 'Dan Fabulich and Nelson Sproul contributed patches that transformed Selenium RC into Selenium WebDriver', 'Selenium is an open-source tool used for automating tests on web browsers, supporting various browsers and OS platforms', "Selenium's notable features include being a leading cloud-based testing platform, supporting parallel test execution, and requiring fewer resources", 'The major uses and benefits of using Selenium include easy automation of testing across web applications and wide language support', 'The components of Selenium, namely Selenium ID, RC, WebDriver, and Grid, were discussed in detail with their respective functionalities', 'Setting up a new Java project for Selenium and adding Selenium jar files, configuring build path', 'Running a test on Facebook, encountering issues with selecting year from dropdown, resolving the issue and running the test again', 'Locating web elements and using select class to select values from dropdowns', 'Selenium supports integration with test management tools and continuous testing frameworks like Maven, Jenkins, and Docker', 'Selenium can be integrated with test management tools and continuous testing frameworks']}, {'end': 3237.614, 'segs': [{'end': 1365.944, 'src': 'embed', 'start': 1332.662, 'weight': 5, 'content': [{'end': 1336.663, 'text': 'Yeah, you can see that the year option is available only till 2020.', 'start': 1332.662, 'duration': 4.001}, {'end': 1338.263, 'text': "So I'm going to be selecting 1977.", 'start': 1336.663, 'duration': 1.6}, {'end': 1342.104, 'text': 'Okay All right.', 'start': 1338.263, 'duration': 3.841}, {'end': 1344.284, 'text': "So let's run this again.", 'start': 1342.824, 'duration': 1.46}, {'end': 1351.566, 'text': 'Zoomed in and now changes the date.', 'start': 1348.205, 'duration': 3.361}, {'end': 1354.667, 'text': 'month and the years.', 'start': 1352.603, 'duration': 2.064}, {'end': 1356.509, 'text': 'All right.', 'start': 1356.069, 'duration': 0.44}, {'end': 1357.972, 'text': "Okay, it's done guys.", 'start': 1356.83, 'duration': 1.142}, {'end': 1360.636, 'text': 'So this is exactly how selenium works.', 'start': 1358.372, 'duration': 2.264}, {'end': 1365.944, 'text': 'So this was an example or a basic example for locating elements using selenium webdriver.', 'start': 1360.656, 'duration': 5.288}], 'summary': 'Using selenium, the year option goes up to 2020. a basic example for locating elements.', 'duration': 33.282, 'max_score': 1332.662, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw1332662.jpg'}, {'end': 1437.844, 'src': 'embed', 'start': 1411.808, 'weight': 1, 'content': [{'end': 1417.849, 'text': 'You have to install your JDK that is Java development kit and then configure your environment variables.', 'start': 1411.808, 'duration': 6.041}, {'end': 1423.21, 'text': 'And finally if you want you can install JRE that is Java runtime environment on your system.', 'start': 1418.429, 'duration': 4.781}, {'end': 1428.153, 'text': 'So you might think why you need to install JDK and Jerry both of them.', 'start': 1424.244, 'duration': 3.909}, {'end': 1437.844, 'text': 'So let me first tell you the difference between JDK and Jerry JDK is basically used for developing testing and debugging apps and Java applets.', 'start': 1428.78, 'duration': 9.064}], 'summary': 'Install jdk for app development and configure environment variables. jdk is for developing, testing, and debugging apps and applets.', 'duration': 26.036, 'max_score': 1411.808, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw1411808.jpg'}, {'end': 2391.328, 'src': 'embed', 'start': 2342.316, 'weight': 0, 'content': [{'end': 2347.98, 'text': 'selenium uses element locators, which helps in locating these web elements on the web page.', 'start': 2342.316, 'duration': 5.664}, {'end': 2350.002, 'text': "So let's see how this can be done.", 'start': 2348.421, 'duration': 1.581}, {'end': 2359.015, 'text': 'Selenium makes use of the locator that can be termed as an address that identifies a web element uniquely within the web page.', 'start': 2350.652, 'duration': 8.363}, {'end': 2367.879, 'text': 'Locators are the HTML properties of a web element which tells Selenium about the web element it needs to perform the actions on.', 'start': 2359.596, 'duration': 8.283}, {'end': 2374.742, 'text': 'There is a diverse range of web elements like the text box, ID, radio button, et cetera.', 'start': 2368.459, 'duration': 6.283}, {'end': 2378.803, 'text': 'and identifying these elements is a tricky approach.', 'start': 2375.422, 'duration': 3.381}, {'end': 2384.365, 'text': 'So selenium uses these locators to interact with the web elements on the webpage.', 'start': 2379.304, 'duration': 5.061}, {'end': 2388.947, 'text': "So let's see what are the different types of locators in selenium.", 'start': 2384.846, 'duration': 4.101}, {'end': 2391.328, 'text': 'First off we have the ID.', 'start': 2389.627, 'duration': 1.701}], 'summary': 'Selenium uses element locators to identify web elements, including diverse types like text box, id, and radio button.', 'duration': 49.012, 'max_score': 2342.316, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw2342316.jpg'}, {'end': 2550.685, 'src': 'embed', 'start': 2493.114, 'weight': 3, 'content': [{'end': 2494.355, 'text': "So I'm just going to click on it.", 'start': 2493.114, 'duration': 1.241}, {'end': 2497.738, 'text': 'Launch the workspace.', 'start': 2496.517, 'duration': 1.221}, {'end': 2504.303, 'text': 'Okay, so this is the Eclipse workspace guys.', 'start': 2502.001, 'duration': 2.302}, {'end': 2507.445, 'text': "So I'll first create a new Java project.", 'start': 2504.843, 'duration': 2.602}, {'end': 2514.949, 'text': 'and name it web elements and finish.', 'start': 2509.705, 'duration': 5.244}, {'end': 2522.254, 'text': 'You can see that the project is being created and now we need to add the selenium jar files.', 'start': 2516.89, 'duration': 5.364}, {'end': 2532.521, 'text': "So I'm going to go to build path, configure build path and add external jars.", 'start': 2525.336, 'duration': 7.185}, {'end': 2550.685, 'text': 'Apply and close.', 'start': 2549.505, 'duration': 1.18}], 'summary': 'Creating a new java project named web elements in eclipse and adding selenium jar files.', 'duration': 57.571, 'max_score': 2493.114, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw2493114.jpg'}, {'end': 3165.929, 'src': 'embed', 'start': 3134.97, 'weight': 4, 'content': [{'end': 3139.133, 'text': "If you're looking to switch from manual to automation testing, well, this video is definitely for you.", 'start': 3134.97, 'duration': 4.163}, {'end': 3143.635, 'text': 'In fact learning selenium can very well be your entry point to the software industry.', 'start': 3139.613, 'duration': 4.022}, {'end': 3148.857, 'text': "So by the end of today's session, I'm going to make sure that you guys are equipped to run your first selenium test case.", 'start': 3144.195, 'duration': 4.662}, {'end': 3152.419, 'text': "But before we begin, let me quickly course you all through today's training session.", 'start': 3149.157, 'duration': 3.262}, {'end': 3156.346, 'text': "So, first I'll be talking about why you should be using selenium,", 'start': 3153.385, 'duration': 2.961}, {'end': 3160.327, 'text': "then I'll introduce you to the versions it has had and the suite of tools that it offers.", 'start': 3156.346, 'duration': 3.981}, {'end': 3165.929, 'text': "then I'll show you how to set selenium up and finally we'll be going hands-on and selenium and running our first test case.", 'start': 3160.327, 'duration': 5.602}], 'summary': 'Learn how to transition to automation testing with selenium and run your first test case.', 'duration': 30.959, 'max_score': 3134.97, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw3134970.jpg'}], 'start': 1332.662, 'title': 'Using selenium webdriver and web automation basics', 'summary': 'Demonstrates using selenium webdriver for element locating, covers the installation of java, eclipse, and selenium, provides an overview of selenium web elements and operations on web elements & locator types, and demonstrates selenium element locators and web automation basics.', 'chapters': [{'end': 1385.919, 'start': 1332.662, 'title': 'Using selenium webdriver for element locating', 'summary': 'Demonstrates using selenium webdriver to locate elements, with a basic example for changing date and year till 2020 and suggesting viewers to explore more on youtube.', 'duration': 53.257, 'highlights': ['Using Selenium Webdriver to locate elements, with a basic example for changing date and year till 2020', 'Suggestion for viewers to explore more about selenium on YouTube', 'Example of selecting 1977 as the year option']}, {'end': 1871.443, 'start': 1386.239, 'title': 'Installing java, eclipse, and selenium', 'summary': 'Covers the installation of java, eclipse, and selenium, including steps to install java, configure environment variables, install eclipse, download and configure selenium, and create a new project in eclipse with selenium libraries and running a sample script.', 'duration': 485.204, 'highlights': ['The process of installing Java involves three steps: installing JDK, configuring environment variables, and optionally installing JRE. JDK is used for developing, testing, and debugging apps, while JRE provides components to run Java applications.', 'Installing Eclipse involves downloading the package for Java Enterprise Edition developers, extracting the zip file, and running the application as an administrator.', 'The installation of Selenium includes downloading Selenium, Java client, and Chrome driver, and optionally Gecko driver for Mozilla Firefox. The process also involves creating a new project in Eclipse, adding Selenium libraries, and running a sample script.', 'Running a sample Selenium script involves setting the system property for the Chrome driver, creating a new Chrome driver object, navigating through web pages, and validating the output.']}, {'end': 2246.712, 'start': 1871.863, 'title': 'Selenium web elements overview', 'summary': 'Provides an overview of selenium web elements, covering their types, characteristics, and operations, including how to perform actions on different web elements and the types of operations that can be performed on the browser and web page.', 'duration': 374.849, 'highlights': ['Selenium web elements include text box, link, button, image, text area, checkbox, radio button, dropdown box, list box, and combo box, each with specific functionalities.', 'Various operations can be performed on web elements, such as navigating, interacting with different elements like edit box, link, button, image, and text area, and checking their status and existence.', 'Operations on the browser include launching, navigating, closing, and maximizing the browser screen.', 'Web elements can be located on the webpage using element locators, and actions can be performed on elements like edit box, link, button, image, and text area, including checking their status and existence.']}, {'end': 2468.728, 'start': 2246.712, 'title': 'Operations on web elements & locator types', 'summary': 'Explores operations on web elements like checkbox, radio button, dropdown box, list box, table, frames, and locator types in selenium, including id, name, class, link text, css selector, partial link text, and xpath.', 'duration': 222.016, 'highlights': ['Operations include checking if elements like checkbox, radio button, dropdown box, list box, table, and frames are displayed, enabled, selected, or present, and performing actions like selecting, unselecting, and getting item count.', 'Selenium uses locators like ID, name, class, link text, CSS selector, partial link text, and XPath to uniquely identify web elements within a web page for interaction.']}, {'end': 2940.736, 'start': 2469.328, 'title': 'Selenium element locators', 'summary': 'Demonstrates how to use different element locators in selenium to perform actions on a web page, including setting up the environment in eclipse, adding selenium jar files, writing code to locate and interact with web elements, and executing the program, achieving tasks such as searching for an item and clicking on web elements.', 'duration': 471.408, 'highlights': ['The chapter covers setting up the environment in Eclipse and adding Selenium jar files, essential for running test scripts and performing actions.', 'It explains writing Java code to locate web elements using different locators such as ID and class name, and performing actions such as sending keys and clicking on web elements.', 'Demonstrates the use of thread commands for pausing execution, and provides a manual demonstration of locating and interacting with web elements on the Amazon.in webpage.', 'Instructs on how to handle ambiguity issues when locating elements by considering different locators like link text to ensure accurate element identification.']}, {'end': 3237.614, 'start': 2946.398, 'title': 'Selenium web automation basics', 'summary': 'Covers the basics of web automation using selenium, including navigating, maximizing web pages, and pausing execution, with a focus on the advantages of automated testing tools like selenium and the training agenda for the session.', 'duration': 291.216, 'highlights': ['The chapter covers the basics of web automation using Selenium, including navigating, maximizing web pages, and pausing execution, with a focus on the advantages of automated testing tools like Selenium and the training agenda for the session.', "Selenium is an automated testing tool that enables automation of the testing process, reducing the tediousness and manual effort involved in testing applications, which is advantageous especially in today's world with numerous lines of code and data behind applications.", 'The training session agenda includes discussing the reasons for choosing Selenium, introducing its versions and suite of tools, setting up Selenium, and conducting the first test case, aiming to equip learners to run their first Selenium test case by the end of the session.']}], 'duration': 1904.952, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw1332662.jpg', 'highlights': ['Selenium uses locators like ID, name, class, link text, CSS selector, partial link text, and XPath to uniquely identify web elements within a web page for interaction.', 'The process of installing Java involves three steps: installing JDK, configuring environment variables, and optionally installing JRE.', 'Selenium web elements include text box, link, button, image, text area, checkbox, radio button, dropdown box, list box, and combo box, each with specific functionalities.', 'The chapter covers setting up the environment in Eclipse and adding Selenium jar files, essential for running test scripts and performing actions.', 'The chapter covers the basics of web automation using Selenium, including navigating, maximizing web pages, and pausing execution, with a focus on the advantages of automated testing tools like Selenium and the training agenda for the session.', 'Using Selenium Webdriver to locate elements, with a basic example for changing date and year till 2020']}, {'end': 4387.346, 'segs': [{'end': 3284.268, 'src': 'embed', 'start': 3257.376, 'weight': 3, 'content': [{'end': 3262.26, 'text': 'So QTP stands for quick test professional and RFT stands for rational functional tester.', 'start': 3257.376, 'duration': 4.884}, {'end': 3266.484, 'text': "So I've gone ahead and I've put them all into a table so that it's easy for us to compare.", 'start': 3262.661, 'duration': 3.823}, {'end': 3269.553, 'text': "Now, the first feature we're looking at is license.", 'start': 3267.071, 'duration': 2.482}, {'end': 3271.856, 'text': 'QTP requires you to be licensed by HP.', 'start': 3269.553, 'duration': 2.303}, {'end': 3275.82, 'text': 'similarly RFT by IBM and test complete by smart bear software.', 'start': 3271.856, 'duration': 3.964}, {'end': 3279.783, 'text': 'but selenium is an open source tool and does not require a license to be used.', 'start': 3275.82, 'duration': 3.963}, {'end': 3284.268, 'text': 'Now these licensed products can be pretty expensive for just a single person to buy,', 'start': 3280.264, 'duration': 4.004}], 'summary': 'Comparison of qtp, rft, test complete, and selenium reveals selenium as an open source tool not requiring a license.', 'duration': 26.892, 'max_score': 3257.376, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw3257376.jpg'}, {'end': 3370.38, 'src': 'embed', 'start': 3330.606, 'weight': 0, 'content': [{'end': 3335.51, 'text': 'TestComplete supports VBScript, JScript, DelphiScript, C++ and C-Sharp,', 'start': 3330.606, 'duration': 4.904}, {'end': 3343.978, 'text': 'whereas Selenium gives you a dynamic range of support for almost all popular programming languages like Java, C-Sharp, Ruby, Python, Perl and PHP.', 'start': 3335.51, 'duration': 8.468}, {'end': 3348.061, 'text': 'Now all that being said I take it that you folks now have a better understanding.', 'start': 3344.838, 'duration': 3.223}, {'end': 3352.164, 'text': 'So as to why selenium is a technology that has been trending among its peers.', 'start': 3348.481, 'duration': 3.683}, {'end': 3354.927, 'text': 'So apart from beating the challenges of manual testing.', 'start': 3352.625, 'duration': 2.302}, {'end': 3358.25, 'text': "Here's why selenium is your best choice being open source.", 'start': 3355.207, 'duration': 3.043}, {'end': 3359.431, 'text': 'It is available for free.', 'start': 3358.35, 'duration': 1.081}, {'end': 3362.914, 'text': 'It does not really matter what operating system you have been using.', 'start': 3359.831, 'duration': 3.083}, {'end': 3370.38, 'text': 'also, selenium will let you perform tests on almost any web browser and let you pick whichever programming language you comfortable in writing your test cases in.', 'start': 3362.914, 'duration': 7.466}], 'summary': 'Selenium supports a wide range of programming languages, is open source, free, and compatible with all operating systems and web browsers.', 'duration': 39.774, 'max_score': 3330.606, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw3330606.jpg'}, {'end': 3415.933, 'src': 'embed', 'start': 3385.079, 'weight': 2, 'content': [{'end': 3390.161, 'text': 'Let me now introduce you to the suite of tools that selenium comprises and the versions that have evolved over the years.', 'start': 3385.079, 'duration': 5.082}, {'end': 3398.383, 'text': 'Now the latest release of selenium is version 3.1 2.0 and these are the components that selenium has offered over the years.', 'start': 3390.861, 'duration': 7.522}, {'end': 3404.039, 'text': 'the selenium IDE the selenium grid selenium RC and the selenium webdriver.', 'start': 3399.068, 'duration': 4.971}, {'end': 3408.028, 'text': "So let us look into each of these and understand why they're a part of selenium.", 'start': 3404.721, 'duration': 3.307}, {'end': 3415.933, 'text': 'So initially, selenium RC was used to write test cases in different programming languages and run recorded scripts and any browser.', 'start': 3409.15, 'duration': 6.783}], 'summary': 'Selenium comprises tools like ide, grid, rc, and webdriver. latest version is 3.12.0.', 'duration': 30.854, 'max_score': 3385.079, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw3385079.jpg'}, {'end': 3943.407, 'src': 'embed', 'start': 3897.83, 'weight': 4, 'content': [{'end': 3903.994, 'text': "So let's go ahead and add that to and finally when you're done go ahead and click on apply and close.", 'start': 3897.83, 'duration': 6.164}, {'end': 3908.516, 'text': "So once you've done that there would be another folder called reference libraries.", 'start': 3904.534, 'duration': 3.982}, {'end': 3911.738, 'text': "So now you've configured Eclipse to use Selenium in it.", 'start': 3909.036, 'duration': 2.702}, {'end': 3913.659, 'text': "So let's go to our next slide now.", 'start': 3912.338, 'duration': 1.321}, {'end': 3923.083, 'text': 'All right, so that brings us to our last section, which is hands-on and selenium.', 'start': 3918.582, 'duration': 4.501}, {'end': 3928.824, 'text': 'So now that the prerequisites have all been installed and selenium has been configured for Eclipse IDE.', 'start': 3923.943, 'duration': 4.881}, {'end': 3933.145, 'text': 'How about we automate and test Gmail using Google Chrome? Well, okay.', 'start': 3928.984, 'duration': 4.161}, {'end': 3934.985, 'text': 'So this is the test script for it.', 'start': 3933.305, 'duration': 1.68}, {'end': 3939.026, 'text': 'Let me anyways go and write it down so that we can run out first test script.', 'start': 3935.126, 'duration': 3.9}, {'end': 3940.607, 'text': 'What will we do??', 'start': 3939.606, 'duration': 1.001}, {'end': 3943.407, 'text': "We'll go ahead and first create a package.", 'start': 3940.687, 'duration': 2.72}], 'summary': 'Configured eclipse to use selenium, automated and tested gmail using google chrome.', 'duration': 45.577, 'max_score': 3897.83, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw3897830.jpg'}, {'end': 4009.201, 'src': 'embed', 'start': 3981.97, 'weight': 6, 'content': [{'end': 3988.395, 'text': 'They are the ones that can instantiate your browser, which means drivers are necessary if you want to automate your web browsers.', 'start': 3981.97, 'duration': 6.425}, {'end': 3993.299, 'text': "So we'll have to type in a command so that our drivers are connected to our program.", 'start': 3989.035, 'duration': 4.264}, {'end': 4004.479, 'text': "So the command for it is set property under which we'll have to tell the command about what driver we are talking about first.", 'start': 3993.659, 'duration': 10.82}, {'end': 4009.201, 'text': "So we're talking about the web driver that is of Google Chrome.", 'start': 4004.899, 'duration': 4.302}], 'summary': 'Drivers are necessary for automating web browsers, such as the google chrome webdriver.', 'duration': 27.231, 'max_score': 3981.97, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw3981970.jpg'}], 'start': 3237.614, 'title': 'Automated testing tools and selenium advantages', 'summary': 'Discusses the comparison of automated testing tools including selenium, qtp, rft, and testcomplete, highlighting their licensing requirements and industry standards. it also explores the advantages of using selenium, an open source testing tool, over licensed products, detailing its cost-effectiveness, flexibility, and support for multiple programming languages, along with a guide for setting up selenium and automating gmail testing.', 'chapters': [{'end': 3275.82, 'start': 3237.614, 'title': 'Comparison of automated testing tools', 'summary': 'Discusses the comparison of automated testing tools including selenium, qtp, rft, and test complete, highlighting their licensing requirements and industry standards.', 'duration': 38.206, 'highlights': ['QTP, RFT, and Test Complete are also automated testing tools and are the very best based on industry standards.', 'QTP requires you to be licensed by HP, similarly RFT by IBM and test complete by smart bear software.', 'Selenium is not the only automated testing tool, and other tools like QTP, RFT, and Test Complete also exist.']}, {'end': 3897.11, 'start': 3275.82, 'title': 'Selenium: open source testing advantages', 'summary': 'Discusses the advantages of using selenium, an open source testing tool, over licensed products such as qtp, rft, and testcomplete, highlighting its cost-effectiveness, flexibility across operating systems and browsers, and support for multiple programming languages. it also details the suite of tools within selenium, including selenium ide, selenium grid, and selenium webdriver, and provides a step-by-step guide for setting up selenium by installing java, eclipse, and selenium jar files.', 'duration': 621.29, 'highlights': ['Selenium offers cost-effective testing as an open source tool, unlike licensed products like QTP, RFT, and TestComplete, which can be expensive and have limited language support.', 'Selenium is flexible across operating systems and browsers, unlike QTP, RFT, and TestComplete, which have limitations to specific Windows versions and languages.', 'Selenium supports multiple programming languages such as Java, C-Sharp, Ruby, Python, Perl, and PHP, providing a dynamic range of language support, unlike QTP, RFT, and TestComplete, which have limited language support.', 'Selenium comprises a suite of tools including Selenium IDE, Selenium Grid, and Selenium WebDriver, with WebDriver being the flagship tool that overcame the limitations of Selenium RC, providing better functionalities and improved speed for running tests.', 'The setup process for using Selenium involves installing Java, Eclipse, and Selenium jar files, and configuring Eclipse to recognize Selenium by adding external jar files to the classpath.']}, {'end': 4387.346, 'start': 3897.83, 'title': 'Automating gmail testing with selenium', 'summary': 'Covers configuring eclipse for selenium, automating and testing gmail using google chrome, including creating a test script, connecting drivers, writing test cases, and executing automated browser features with a successful test case result.', 'duration': 489.516, 'highlights': ['Configuring Eclipse for Selenium by adding reference libraries and configuring Selenium for Eclipse IDE.', 'Automating and testing Gmail using Google Chrome, including creating a test script, connecting drivers, and executing automated browser features.', 'Writing a test case to establish a successful test condition and executing it with the browser opening automatically, navigating to Gmail, entering the ID, and closing the window.', 'Explaining the importance of drivers in automating web browsers, demonstrating how to connect drivers to the program, and using commands to maximize the window and find web elements.']}], 'duration': 1149.732, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw3237614.jpg', 'highlights': ['Selenium supports multiple programming languages, unlike QTP, RFT, and TestComplete.', 'Selenium offers cost-effective testing as an open source tool.', 'Selenium comprises a suite of tools including Selenium IDE, Selenium Grid, and Selenium WebDriver.', 'QTP, RFT, and Test Complete are also automated testing tools based on industry standards.', 'Configuring Eclipse for Selenium by adding reference libraries and configuring Selenium for Eclipse IDE.', 'Automating and testing Gmail using Google Chrome, including creating a test script.', 'Explaining the importance of drivers in automating web browsers.']}, {'end': 5710.338, 'segs': [{'end': 4467.659, 'src': 'embed', 'start': 4441.569, 'weight': 0, 'content': [{'end': 4446.134, 'text': 'and selenium is the best suitable tool for testing a website in this video.', 'start': 4441.569, 'duration': 4.565}, {'end': 4448.918, 'text': 'I will give you insights about selenium architecture.', 'start': 4446.195, 'duration': 2.723}, {'end': 4451.441, 'text': "Let's have a look at the agenda for the session.", 'start': 4449.418, 'duration': 2.023}, {'end': 4460.937, 'text': 'First I will introduce you with selenium suit of tools that is selenium web driver selenium RC ID selenium grid Etc.', 'start': 4452.415, 'duration': 8.522}, {'end': 4467.659, 'text': 'And after that I will explain you the various components and working of selenium architecture and finally,', 'start': 4461.297, 'duration': 6.362}], 'summary': 'Selenium is the best tool for website testing, covering its architecture and components.', 'duration': 26.09, 'max_score': 4441.569, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw4441569.jpg'}, {'end': 4590.79, 'src': 'embed', 'start': 4564.583, 'weight': 1, 'content': [{'end': 4571.029, 'text': "but it is officially deprecated, and that's where selenium web driver came into the picture,", 'start': 4564.583, 'duration': 6.446}, {'end': 4576.935, 'text': 'and it is a browser automation framework that accepts the commands and sends them to the browser,', 'start': 4571.029, 'duration': 5.906}, {'end': 4581.259, 'text': 'and this selenium web driver is implemented through a browser specific driver.', 'start': 4576.935, 'duration': 4.324}, {'end': 4590.79, 'text': 'It controls the browser by directly communicating with that and it also supports Java C sharp PHP Pearl Python Ruby Etc.', 'start': 4581.943, 'duration': 8.847}], 'summary': 'Selenium web driver is a browser automation framework supporting multiple languages.', 'duration': 26.207, 'max_score': 4564.583, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw4564583.jpg'}, {'end': 4643.593, 'src': 'embed', 'start': 4618.827, 'weight': 2, 'content': [{'end': 4625.55, 'text': 'selenium web driver has also come up with the new version of selenium, that is, improved version, that is, selenium tree.', 'start': 4618.827, 'duration': 6.723}, {'end': 4630.593, 'text': 'So in the recent days all of us are using selenium tree and above in the market.', 'start': 4626.011, 'duration': 4.582}, {'end': 4634.588, 'text': 'Now talking about the last component selenium grid.', 'start': 4631.647, 'duration': 2.941}, {'end': 4643.593, 'text': 'This is a tool used together with selenium RC to run tests on different machines against different browsers and paddle, that is,', 'start': 4635.069, 'duration': 8.524}], 'summary': 'Selenium web driver has released an improved version called selenium 3, being widely used in the market, alongside selenium grid for running tests on various machines and browsers.', 'duration': 24.766, 'max_score': 4618.827, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw4618827.jpg'}, {'end': 4744.571, 'src': 'embed', 'start': 4711.456, 'weight': 3, 'content': [{'end': 4713.357, 'text': 'So now talking about the architecture.', 'start': 4711.456, 'duration': 1.901}, {'end': 4717.2, 'text': 'This is a selenium architecture which comprise of four main components.', 'start': 4713.597, 'duration': 3.603}, {'end': 4725.347, 'text': 'that is, selenium client library, Jason, via protocol over HTTP, browser drivers and browsers.', 'start': 4717.2, 'duration': 8.147}, {'end': 4726.628, 'text': 'that is, a real browsers.', 'start': 4725.347, 'duration': 1.281}, {'end': 4732.073, 'text': 'So first talking about selenium client libraries are also termed as selenium language bindings.', 'start': 4727.269, 'duration': 4.804}, {'end': 4737.969, 'text': 'So selenium supports multiple libraries like Java, Ruby, Python and many more,', 'start': 4732.728, 'duration': 5.241}, {'end': 4744.571, 'text': 'and selenium developers have developed the language bindings to allow selenium to support multiple languages.', 'start': 4737.969, 'duration': 6.602}], 'summary': 'Selenium architecture has 4 main components: selenium client libraries (e.g. java, ruby, python), json wire protocol over http, browser drivers, and real browsers.', 'duration': 33.115, 'max_score': 4711.456, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw4711456.jpg'}, {'end': 4804.827, 'src': 'embed', 'start': 4780.097, 'weight': 5, 'content': [{'end': 4786.799, 'text': 'Jason, via protocol is a rest API that transfers the information between HTTP server.', 'start': 4780.097, 'duration': 6.702}, {'end': 4794.482, 'text': 'each browser driver, like you have Firefox, like Chrome driver, has its own HTTP server on which it communicates with the client.', 'start': 4786.799, 'duration': 7.683}, {'end': 4800.145, 'text': 'Now talking about the browser driver each browser contains separate browser driver.', 'start': 4795.203, 'duration': 4.942}, {'end': 4802.526, 'text': 'That is you can see for Firefox browser.', 'start': 4800.545, 'duration': 1.981}, {'end': 4804.827, 'text': 'There is Firefox driver for Chrome browser.', 'start': 4802.546, 'duration': 2.281}], 'summary': 'Jason via protocol is a rest api for transferring information between http servers, with each browser having its own http server communicating with the client.', 'duration': 24.73, 'max_score': 4780.097, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw4780097.jpg'}, {'end': 4868.469, 'src': 'embed', 'start': 4844.446, 'weight': 4, 'content': [{'end': 4853.194, 'text': 'So selenium supports multiple browsers like Firefox, Chrome, Safari, Opera, Edge, Internet Explorer and many more.', 'start': 4844.446, 'duration': 8.748}, {'end': 4857.358, 'text': "now let's see how selenium web driver works internally.", 'start': 4853.194, 'duration': 4.164}, {'end': 4862.683, 'text': 'the main working usually occurs between browsers and browser drivers.', 'start': 4857.358, 'duration': 5.325}, {'end': 4868.469, 'text': 'as you all know, selenium provides libraries, that as it has its own set of libraries, and that comes with APIs.', 'start': 4862.683, 'duration': 5.786}], 'summary': 'Selenium supports multiple browsers and provides its own set of libraries and apis for internal workings.', 'duration': 24.023, 'max_score': 4844.446, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw4844446.jpg'}, {'end': 5031.319, 'src': 'embed', 'start': 5003.021, 'weight': 7, 'content': [{'end': 5006.342, 'text': 'But what matters is over the HTTP protocol.', 'start': 5003.021, 'duration': 3.321}, {'end': 5015.365, 'text': 'We are sending the request to the drivers in the form of a Jason and then this request will be performed on real browsers and then send to the browser drivers.', 'start': 5006.362, 'duration': 9.003}, {'end': 5020.229, 'text': 'So this is how it works internally over the protocol or over the grid.', 'start': 5016.005, 'duration': 4.224}, {'end': 5023.632, 'text': 'If you want to execute your program, you need a selenium server.', 'start': 5020.269, 'duration': 3.363}, {'end': 5031.319, 'text': "Okay, Now let's see a demo where in you will understand how to create a instance or how to create a session,", 'start': 5024.013, 'duration': 7.306}], 'summary': 'Selenium server needed to execute program, demo on creating instance or session.', 'duration': 28.298, 'max_score': 5003.021, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw5003021.jpg'}, {'end': 5109.922, 'src': 'embed', 'start': 5084.702, 'weight': 6, 'content': [{'end': 5090.386, 'text': 'So this is all about the language bindings where it supports Java C sharp Ruby Python JavaScript Etc.', 'start': 5084.702, 'duration': 5.684}, {'end': 5094.952, 'text': 'and also there is third party drivers bindings and plug-ins.', 'start': 5091.309, 'duration': 3.643}, {'end': 5101.356, 'text': 'So I told you about the browser drivers for Mozilla Firefox as a gecko driver for Google Chrome.', 'start': 5095.472, 'duration': 5.884}, {'end': 5106.92, 'text': "There's a Chrome driver for Opera for Internet Explorer for Microsoft Edge and many more.", 'start': 5101.396, 'duration': 5.524}, {'end': 5109.922, 'text': 'So from here, you can download your browser drivers.', 'start': 5107.26, 'duration': 2.662}], 'summary': 'Language bindings for java, c#, ruby, python, javascript, etc. with support for browser drivers like gecko, chrome, opera, internet explorer, and microsoft edge.', 'duration': 25.22, 'max_score': 5084.702, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw5084702.jpg'}, {'end': 5388.957, 'src': 'embed', 'start': 5361.001, 'weight': 10, 'content': [{'end': 5373.689, 'text': 'So you just have to Google Jason via protocol selenium and click on the first link and you will get all the basic terms and concepts about the webbed element,', 'start': 5361.001, 'duration': 12.688}, {'end': 5382.774, 'text': 'about the capabilities, about the cookies, about entry, about log levels, proxy Jason, and these are the commands.', 'start': 5373.689, 'duration': 9.085}, {'end': 5383.714, 'text': 'you have exceptions.', 'start': 5382.774, 'duration': 0.94}, {'end': 5388.957, 'text': 'also error handling, invalid request, and this is the command request.', 'start': 5383.714, 'duration': 5.243}], 'summary': 'Google jason via protocol selenium for web element concepts, capabilities, cookies, and commands.', 'duration': 27.956, 'max_score': 5361.001, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw5361001.jpg'}, {'end': 5543.959, 'src': 'embed', 'start': 5517.936, 'weight': 9, 'content': [{'end': 5523.259, 'text': 'Okay, so once when I set the system properties and create an object of the Firefox driver,', 'start': 5517.936, 'duration': 5.323}, {'end': 5526.981, 'text': 'it should basically launch the Firefox driver with these two commands', 'start': 5523.259, 'duration': 3.722}, {'end': 5530.366, 'text': "but then what I'm doing I'm maximizing the windows.", 'start': 5527.441, 'duration': 2.925}, {'end': 5531.949, 'text': "I'm deleting all the cookies.", 'start': 5530.486, 'duration': 1.463}, {'end': 5539.782, 'text': "I'm giving the timeouts for implicitly wait and page timeout and then using driver dot get I'm navigating to twitter.com.", 'start': 5532.109, 'duration': 7.673}, {'end': 5541.225, 'text': 'I have told you before, right?', 'start': 5540.243, 'duration': 0.982}, {'end': 5543.959, 'text': 'If you navigate, so what it will do?', 'start': 5541.898, 'duration': 2.061}], 'summary': 'Setting system properties, creating firefox driver, maximizing windows, deleting cookies, setting timeouts, and navigating to twitter.com.', 'duration': 26.023, 'max_score': 5517.936, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw5517936.jpg'}], 'start': 4387.706, 'title': 'Selenium testing and architecture', 'summary': 'Covers selenium testing basics, including server demo, browser instance creation, and test case execution. it explains selenium webdriver components, jason via protocol, architecture, and language bindings for various browsers, emphasizing its popularity and growth.', 'chapters': [{'end': 4755.393, 'start': 4387.706, 'title': 'Selenium testing overview', 'summary': 'Covers the basics of selenium testing, including a demo of running a selenium server, creating a browser instance, and performing test cases. it explains the functionalities of various tools in the selenium suite and the architecture, emphasizing the popularity of selenium and its growth in recent days.', 'duration': 367.687, 'highlights': ['Selenium is the best suitable tool for testing a website, with recent days seeing a peak in popularity and growth of automation testing using Selenium.', 'Selenium is a suit of tools, including Selenium IDE, Selenium RC, Selenium WebDriver, and Selenium Grid, each having its own functionalities and importance.', 'Selenium WebDriver is a browser automation framework that accepts commands and sends them to the browser, supporting various programming languages, operating systems, and browsers.', 'Selenium Grid is a tool used with Selenium RC to run tests on different machines against different browsers and platforms, supporting multiple browsers, machines, and OS platforms.', 'Selenium architecture comprises Selenium client libraries, JSON wire protocol over HTTP, browser drivers, and real browsers, with client libraries supporting multiple languages like Java, Ruby, and Python.']}, {'end': 5041.108, 'start': 4755.433, 'title': 'Selenium web driver and jason via protocol', 'summary': 'Explains the components of selenium web driver, including browser drivers, browsers, and the jason via protocol over http client, detailing the internal workings and communication process of selenium web driver, with a focus on the jason via protocol over http client, which is used to transfer information between http servers, browsers, and browser drivers.', 'duration': 285.675, 'highlights': ['The main working occurs between browsers and browser drivers, with Selenium providing libraries and APIs for different programming languages, such as Java, Ruby, and Python.', 'Selenium internally creates a Jason payload for each post call, collecting capabilities and browser information, and uses the Jason via protocol over HTTP to communicate with browser drivers, facilitating the execution of actions on the web.', 'Jason via protocol is a REST API that transfers information between HTTP servers, browsers, and browser drivers, ensuring that the internal logic of browser functionality is not revealed during communication.']}, {'end': 5472.379, 'start': 5042.01, 'title': 'Selenium architecture demo', 'summary': 'Demonstrates the internal working of selenium architecture, requiring a selenium standalone server to execute the program, language bindings for java, c sharp, ruby, python, javascript, and third-party browser drivers for mozilla firefox, google chrome, opera, internet explorer, and microsoft edge. the process includes running the selenium server, creating a session for firefox, and utilizing the json wireless protocol for various commands and actions.', 'duration': 430.369, 'highlights': ['The process includes running the selenium server, creating a session for Firefox, and utilizing the JSON wireless protocol for various commands and actions, showcasing the internal working of selenium architecture.', 'Language bindings are available for Java, C sharp, Ruby, Python, JavaScript, and third-party drivers and plugins, supporting various browsers such as Mozilla Firefox, Google Chrome, Opera, Internet Explorer, and Microsoft Edge.', 'The selenium standalone server is launched on port number 4444, and the session for Firefox is successfully created, demonstrating the effective execution of the selenium architecture.']}, {'end': 5710.338, 'start': 5472.959, 'title': 'Selenium architecture overview', 'summary': 'Explains the process of creating a session, launching a server, and performing actions using selenium, including setting properties, navigating, and interacting with web elements via the jason protocol over http, resulting in the instantiation of the firefox driver and interaction with web elements on twitter.com.', 'duration': 237.379, 'highlights': ['The process of creating a session, launching a server, and performing actions using Selenium, including setting properties, navigating, and interacting with web elements via the Jason protocol over HTTP', 'Instantiating the Firefox driver, maximizing the windows, deleting cookies, setting timeouts, and navigating to twitter.com', 'Interacting with web elements on twitter.com by locating elements using XPath and name locators, sending keys, and performing actions via the Jason protocol over HTTP', 'The internal working of Selenium architecture, where the requests are sent to the client and responses are sent back depending on the get and post requests']}], 'duration': 1322.632, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw4387706.jpg', 'highlights': ['Selenium is the best suitable tool for testing a website, with recent days seeing a peak in popularity and growth of automation testing using Selenium.', 'Selenium WebDriver is a browser automation framework that accepts commands and sends them to the browser, supporting various programming languages, operating systems, and browsers.', 'Selenium Grid is a tool used with Selenium RC to run tests on different machines against different browsers and platforms, supporting multiple browsers, machines, and OS platforms.', 'Selenium architecture comprises Selenium client libraries, JSON wire protocol over HTTP, browser drivers, and real browsers, with client libraries supporting multiple languages like Java, Ruby, and Python.', 'The main working occurs between browsers and browser drivers, with Selenium providing libraries and APIs for different programming languages, such as Java, Ruby, and Python.', 'Jason via protocol is a REST API that transfers information between HTTP servers, browsers, and browser drivers, ensuring that the internal logic of browser functionality is not revealed during communication.', 'Language bindings are available for Java, C sharp, Ruby, Python, JavaScript, and third-party drivers and plugins, supporting various browsers such as Mozilla Firefox, Google Chrome, Opera, Internet Explorer, and Microsoft Edge.', 'The process includes running the selenium server, creating a session for Firefox, and utilizing the JSON wireless protocol for various commands and actions, showcasing the internal working of selenium architecture.', 'The process of creating a session, launching a server, and performing actions using Selenium, including setting properties, navigating, and interacting with web elements via the Jason protocol over HTTP', 'Instantiating the Firefox driver, maximizing the windows, deleting cookies, setting timeouts, and navigating to twitter.com', 'Interacting with web elements on twitter.com by locating elements using XPath and name locators, sending keys, and performing actions via the Jason protocol over HTTP']}, {'end': 8018.482, 'segs': [{'end': 5757.315, 'src': 'embed', 'start': 5730.952, 'weight': 3, 'content': [{'end': 5737.614, 'text': 'you can check out the cross browser testing using selenium in our YouTube playlist and you can actually know how it works.', 'start': 5730.952, 'duration': 6.662}, {'end': 5748.033, 'text': "Locators in selenium Let's look at the topics to be covered in the session first.", 'start': 5743.137, 'duration': 4.896}, {'end': 5751.613, 'text': "Let's understand what selenium locators are next.", 'start': 5748.533, 'duration': 3.08}, {'end': 5754.294, 'text': 'We will see different types of selenium locators.', 'start': 5752.014, 'duration': 2.28}, {'end': 5757.315, 'text': "It's working along with an example and finally,", 'start': 5754.374, 'duration': 2.941}], 'summary': 'Learn cross-browser testing with selenium on our youtube playlist.', 'duration': 26.363, 'max_score': 5730.952, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw5730952.jpg'}, {'end': 5887.645, 'src': 'embed', 'start': 5860.3, 'weight': 2, 'content': [{'end': 5867.084, 'text': 'IDs are the safest and fastest locator option and should always be the first choice, even when there are multiple choices.', 'start': 5860.3, 'duration': 6.784}, {'end': 5870.746, 'text': "It's like an employee number or account number which will be unique.", 'start': 5867.625, 'duration': 3.121}, {'end': 5875.529, 'text': 'So this is a target format that is ID is equal to ID of the element.', 'start': 5871.507, 'duration': 4.022}, {'end': 5879.692, 'text': "Now, let's see how to locate a web element using ID locator.", 'start': 5876.03, 'duration': 3.662}, {'end': 5887.645, 'text': 'Now, I will open my Google Chrome and navigate to gmail.com and here you can see there is a email or phone.', 'start': 5880.482, 'duration': 7.163}], 'summary': 'Using ids as the first choice for web element location is like an employee/account number and is unique.', 'duration': 27.345, 'max_score': 5860.3, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw5860300.jpg'}, {'end': 6808.545, 'src': 'embed', 'start': 6780.707, 'weight': 0, 'content': [{'end': 6786.17, 'text': 'So second reference will be for CSS selectors and expat and next comes link text.', 'start': 6780.707, 'duration': 5.463}, {'end': 6792.714, 'text': 'It is useful only for links so you can give third preference and partial link text is my fourth preference.', 'start': 6786.611, 'duration': 6.103}, {'end': 6796.577, 'text': "Now, let's see some best practices for locators.", 'start': 6793.275, 'duration': 3.302}, {'end': 6808.545, 'text': 'Locators are simple and small as possible because you have just a simple locator names like ID name text link text CSS selectors XPath Etc.', 'start': 6797.237, 'duration': 11.308}], 'summary': 'Prioritizing locators: css selectors, expat, link text, partial link text. best practices: keep locators simple and small.', 'duration': 27.838, 'max_score': 6780.707, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw6780707.jpg'}, {'end': 6927.988, 'src': 'embed', 'start': 6899.25, 'weight': 5, 'content': [{'end': 6902.173, 'text': 'As selenium is an open source portable framework.', 'start': 6899.25, 'duration': 2.923}, {'end': 6907.918, 'text': 'We can easily inspect the element on the web page and link it using proper codes.', 'start': 6902.333, 'duration': 5.585}, {'end': 6912.863, 'text': 'this element locators in selenium make it easy to find an element on the web page.', 'start': 6907.918, 'duration': 4.945}, {'end': 6919.481, 'text': 'It can also be termed as an address that identifies a web element uniquely within that web page.', 'start': 6913.596, 'duration': 5.885}, {'end': 6927.988, 'text': 'These element locators are basically the HTML properties of a web element which tells the tool that is selenium about the action.', 'start': 6920.001, 'duration': 7.987}], 'summary': "Selenium's element locators aid in easily finding web elements and performing actions.", 'duration': 28.738, 'max_score': 6899.25, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw6899250.jpg'}, {'end': 7085.255, 'src': 'embed', 'start': 7061.863, 'weight': 1, 'content': [{'end': 7070.208, 'text': 'CSS is mainly used to provide style rules for the web pages, and we can use it for identifying one or more elements in the web page.', 'start': 7061.863, 'duration': 8.345}, {'end': 7077.073, 'text': 'Once you start using CSS selector to locate an element, you will love the speed when it is compared to XPath.', 'start': 7070.829, 'duration': 6.244}, {'end': 7085.255, 'text': 'We can use the CSS selectors to make sure that the scripts run with the same speed in the Internet Explorer browser as well.', 'start': 7077.833, 'duration': 7.422}], 'summary': 'Css is fast; it can identify elements and ensure scripts run at same speed in internet explorer.', 'duration': 23.392, 'max_score': 7061.863, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw7061863.jpg'}], 'start': 5711.138, 'title': 'Selenium testing and locating elements', 'summary': 'Covers selenium testing, including creating web driver instances for cross browser testing, in-depth discussions on selenium locators, css selector usage, and practical demonstrations, with examples and preference order for locators, emphasizing simplicity and resilience.', 'chapters': [{'end': 6279.522, 'start': 5711.138, 'title': 'Selenium locators and cross browser testing', 'summary': 'Covers how to create an instance of different web drivers for cross browser testing, followed by an in-depth discussion of selenium locators, including types, best practices, and practical demonstrations using id and name locators.', 'duration': 568.384, 'highlights': ['The chapter covers how to create an instance of different web drivers for cross browser testing, followed by an in-depth discussion of selenium locators, including types, best practices, and practical demonstrations using ID and name locators.', 'IDs are the safest and fastest locator option and should always be the first choice, even when there are multiple choices.', 'Using ID locators, the demonstration includes locating a web element on gmail.com and sending keys using the ID locator, ensuring unique identification and successful interaction.', 'Name locators provide an efficient way to locate elements and can be used for practical demonstrations, such as locating and performing actions on the search box on google.com.', 'Practical demonstrations include using name locators to enter text in the search box and click on the search button, as well as implementing a wait time using thread dot sleep method.', 'The chapter also emphasizes the importance of using the right locator for faster, more reliable, and lower maintenance tests, especially when dealing with diverse web elements.']}, {'end': 6556.753, 'start': 6279.522, 'title': 'Web page linking and css locating', 'summary': 'Covers the identification of hyperlinks using link text and the usage of css selectors to locate web page elements, with examples of identifying and interacting with elements on a yahoo login page.', 'duration': 277.231, 'highlights': ['The anchor tag is used to create hyperlinks on the web page, with the text between the opening and closing of anchor tags constituting the link text.', 'Link text locator method can be used when there is no ID or name attribute in the web element, providing an alternative way of identifying hyperlinks.', 'CSS selectors are efficient in locating elements on web pages, offering speed advantages compared to XPath and enabling interaction with complex elements such as text boxes and buttons.', "Using CSS selectors, the 'login username' text box and 'login sign-in' button on the Yahoo login page are identified and interacted with, showcasing the practical usage of CSS selectors.", "Thread dot sleep method is used to introduce a delay after entering a username before clicking on the 'next' button, demonstrating the control of timing in automated interactions."]}, {'end': 6832.097, 'start': 6557.489, 'title': 'Using css selectors, partial link text, and xpath for locating elements', 'summary': 'Covers using css selectors, partial link text, and xpath to locate elements on a web page, with examples of how to use each method effectively, and the preference order for locators (id, name, css selectors, xpath, link text, and partial link text). it also includes best practices for locators, emphasizing their simplicity and resilience to changes in ui properties.', 'duration': 274.608, 'highlights': ['The preference order for locators is ID, name, CSS selectors, XPath, link text, and partial link text, with ID being given the first preference as it is unique.', 'Using CSS selectors, partial link text, and XPath to locate specific elements on a web page, with examples of how to use each method effectively.', 'Best practices for locators include keeping them simple and small as possible, and ensuring they continue to work even after changes in UI properties.']}, {'end': 7168.553, 'start': 6837.42, 'title': 'Selenium element locators', 'summary': 'Discusses the importance of element locators in selenium testing, focusing on the css selector, and covers the six types of element locators including id, name, link text, css selector, partial link text, and xpath.', 'duration': 331.133, 'highlights': ['Selenium is an open source portable framework, making it easy to find and inspect elements on a web page, facilitating the identification of web elements uniquely within a web page.', 'The six types of element locators in selenium are ID, name, link text, CSS selector, partial link text, and XPath, providing various methods to locate elements on a web page.', 'CSS selector is the main focus of the session, providing a faster and more efficient way to locate complex elements on a web page compared to XPath, and ensuring scripts run with the same speed in different browsers.', 'The ID locator is the most common way of locating elements, as IDs are unique for each element, while the name locator is used when there is no ID present in the HTML code.', 'The link text locator is used to find elements with unique hyperlink text on a web page, while the partial link text is used to locate elements by a portion of the text in the link text element.', 'XPath is a standard navigation tool for XML and HTML documents, allowing the navigation and selection of individual elements, attributes, or parts of an XML document.']}, {'end': 7601.457, 'start': 7168.553, 'title': 'Css selector in selenium', 'summary': 'Covers the importance of css selector in selenium, including its syntax and commands, and demonstrates its usage in automating a website, providing a step-by-step guide to set up the project and write the code, using java libraries and eclipse ide.', 'duration': 432.904, 'highlights': ['The CSS selector in Selenium is important as it provides a fast method for locating web elements by using corresponding HTML code, making it more simple and efficient compared to other popular locators like XPath.', 'The syntax of the CSS selector involves using unique symbols to locate elements based on the presence of attributes like ID, class, and different symbols for partial values, prefix, suffix, and nested elements, offering a comprehensive approach to element identification.', 'In the demo section, the session demonstrates the usage of CSS selector by automating the e-commerce website eBay.com, providing a step-by-step guide to create a new project, link selenium libraries, and write the code using Java libraries and Eclipse IDE, showcasing the practical application of CSS selector in Selenium automation.']}, {'end': 8018.482, 'start': 7601.917, 'title': 'Setting up chrome webdriver for web automation', 'summary': 'Demonstrates setting up chrome webdriver, navigating to a webpage, finding elements, and performing actions using selenium, with examples of setting the driver, locating elements, maximizing the webpage, and scrolling through the page.', 'duration': 416.565, 'highlights': ['Demonstrates setting up Chrome WebDriver and navigating to a webpage', 'Explains finding elements and performing actions using Selenium', 'Provides examples of setting the driver and maximizing the webpage', 'Illustrates scrolling through the page using JavaScript executor']}], 'duration': 2307.344, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw5711138.jpg', 'highlights': ['The preference order for locators is ID, name, CSS selectors, XPath, link text, and partial link text, with ID being given the first preference as it is unique.', 'CSS selectors are efficient in locating elements on web pages, offering speed advantages compared to XPath and enabling interaction with complex elements such as text boxes and buttons.', 'IDs are the safest and fastest locator option and should always be the first choice, even when there are multiple choices.', 'The chapter covers how to create an instance of different web drivers for cross browser testing, followed by an in-depth discussion of selenium locators, including types, best practices, and practical demonstrations using ID and name locators.', 'The CSS selector in Selenium is important as it provides a fast method for locating web elements by using corresponding HTML code, making it more simple and efficient compared to other popular locators like XPath.', 'Selenium is an open source portable framework, making it easy to find and inspect elements on a web page, facilitating the identification of web elements uniquely within a web page.']}, {'end': 9673.153, 'segs': [{'end': 8151.127, 'src': 'embed', 'start': 8123.465, 'weight': 0, 'content': [{'end': 8129.769, 'text': "So I'm going to take off this s so even in this case, you can see that it is locating to the same position.", 'start': 8123.465, 'duration': 6.304}, {'end': 8133.758, 'text': 'So this is how we use the star operator in the CSS selector guys.', 'start': 8130.256, 'duration': 3.502}, {'end': 8142.024, 'text': 'So now if you want to search the element bytes prefix or the suffix you can use carrot or the dollar symbol.', 'start': 8134.279, 'duration': 7.745}, {'end': 8151.127, 'text': 'XPath is a very important strategy to locate elements in selenium.', 'start': 8147.444, 'duration': 3.683}], 'summary': 'Using the star operator in css selector to locate elements, also utilizing carrot or dollar symbol for prefix or suffix search, and highlighting the importance of xpath in selenium.', 'duration': 27.662, 'max_score': 8123.465, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw8123465.jpg'}, {'end': 8315.175, 'src': 'embed', 'start': 8290.563, 'weight': 1, 'content': [{'end': 8298.266, 'text': 'basically, every web page is a document that consists of tags and attributes and by using XPath, we can query the page.', 'start': 8290.563, 'duration': 7.703}, {'end': 8303.529, 'text': 'document might be your XML HTML extra drop and also to locate a particular element.', 'start': 8298.266, 'duration': 5.263}, {'end': 8312.013, 'text': 'We can write an XPath query that could use elements tag name as well as its attributes, and the query would return the matching element in XML.', 'start': 8303.549, 'duration': 8.464}, {'end': 8315.175, 'text': 'every modern browser has a built-in XPath engine.', 'start': 8312.013, 'duration': 3.162}], 'summary': 'Using xpath, web pages can be queried for specific elements based on tag name and attributes, with every modern browser equipped with a built-in xpath engine.', 'duration': 24.612, 'max_score': 8290.563, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw8290563.jpg'}, {'end': 8596.49, 'src': 'embed', 'start': 8571.508, 'weight': 2, 'content': [{'end': 8577.834, 'text': 'So I believe that you was now able to make out the difference between single front slash and double front slash.', 'start': 8571.508, 'duration': 6.326}, {'end': 8580.416, 'text': 'So now let me reiterate it.', 'start': 8578.434, 'duration': 1.982}, {'end': 8588.323, 'text': 'So single front slash at the start of XPath instructs XPath engine to look for an element starting from the root node,', 'start': 8580.876, 'duration': 7.447}, {'end': 8596.49, 'text': 'and double front slash at the start of XPath instructs XPath engine to search for matching element anywhere in the XML document.', 'start': 8588.323, 'duration': 8.167}], 'summary': 'Understanding of single and double front slash in xpath clarified.', 'duration': 24.982, 'max_score': 8571.508, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw8571508.jpg'}, {'end': 8882.77, 'src': 'embed', 'start': 8855.101, 'weight': 3, 'content': [{'end': 8859.863, 'text': 'As you can see here, I have listed down three functions, but in actual there are many.', 'start': 8855.101, 'duration': 4.762}, {'end': 8864.345, 'text': 'so now I will explain you few important functions that are widely used in selenium.', 'start': 8859.863, 'duration': 4.482}, {'end': 8867.566, 'text': "So first let's start with contains.", 'start': 8864.825, 'duration': 2.741}, {'end': 8870.907, 'text': 'contains is a method which is used in an XPath expression.', 'start': 8867.566, 'duration': 3.341}, {'end': 8877.809, 'text': 'When the value of an attribute changes dynamically, for example, login information, this method comes into use.', 'start': 8871.327, 'duration': 6.482}, {'end': 8882.77, 'text': 'So here it can locate the web element with the available partial text.', 'start': 8878.289, 'duration': 4.481}], 'summary': "Explaining the 'contains' method in selenium, used for locating web elements with partial text.", 'duration': 27.669, 'max_score': 8855.101, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw8855101.jpg'}, {'end': 9558.6, 'src': 'embed', 'start': 9532.971, 'weight': 4, 'content': [{'end': 9537.393, 'text': 'I will introduce different types of weights in selenium with the help of a real-time example.', 'start': 9532.971, 'duration': 4.422}, {'end': 9544.357, 'text': 'And finally I will wrap up the session by differentiating between implicit and explicit weights without any further ado.', 'start': 9538.014, 'duration': 6.343}, {'end': 9546.038, 'text': "Let's get straight into the module.", 'start': 9544.597, 'duration': 1.441}, {'end': 9548.074, 'text': 'What is selenium weights?', 'start': 9546.533, 'duration': 1.541}, {'end': 9552.857, 'text': 'weights help the user to troubleshoot issues while redirecting to different web pages,', 'start': 9548.074, 'duration': 4.783}, {'end': 9558.6, 'text': 'and this is achieved by refreshing the entire web page and reloading the new web elements at times.', 'start': 9552.857, 'duration': 5.743}], 'summary': 'Introducing selenium weights, differentiating implicit and explicit weights, and their role in troubleshooting web page issues.', 'duration': 25.629, 'max_score': 9532.971, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw9532971.jpg'}], 'start': 8018.482, 'title': 'Using xpath in selenium', 'summary': 'Covers practical demonstrations of using css selectors and xpath in selenium, understanding xml structure, types of xpath, usage of xpath functions, and practical examples on amazon and yahoo mail websites, with a step-by-step explanation and benefits.', 'chapters': [{'end': 8216.54, 'start': 8018.482, 'title': 'Xpath in selenium', 'summary': 'Covers practical demonstrations of using css selectors and xpath in selenium to locate elements, along with a brief overview of xpath and its benefits, followed by a step-by-step explanation of writing xpath and different types of xpath functions.', 'duration': 198.058, 'highlights': ['The chapter covers practical demonstrations of using CSS selectors and XPath in Selenium to locate elements.', 'It provides a brief overview of XPath and its benefits.', 'Explains various steps to write XPath and different types of XPath, along with an example.', 'Introduces the concept of XML document and demonstrates how to write XPath for XML document.', 'Wraps up the session by explaining different types of XPath functions along with an example.']}, {'end': 8551.296, 'start': 8217.318, 'title': 'Understanding xml and xpath', 'summary': 'Discusses the structure of an xml document, the process of visualizing an xml document in a tree-like structure, using xpath to locate specific elements, the benefits of xpath queries, and a practical example of using xpath to locate an element in a web page. it also explains the syntax of xpath queries and the process of constructing and using xpath queries to locate elements in a web page.', 'duration': 333.978, 'highlights': ['The structure of an XML document is discussed, emphasizing the use of nodes, child nodes, tags, and attributes, with examples and visualizations.', 'Using XPath to locate specific elements in an XML document is explained, with a step-by-step demonstration of constructing an XPath query to locate an element based on its tag and attributes.', 'The benefits of XPath queries are highlighted, including their compactness, simplicity, ease of readability and typing, avoidance of repeated notes, and the ability to uniquely identify any node in an XML document.', 'The practical example demonstrates the use of XPath to locate an element in a web page, providing a step-by-step process of inspecting the element, identifying its tag and attributes, and constructing an XPath query to locate the element based on its tag and attributes.']}, {'end': 8877.809, 'start': 8551.296, 'title': 'Xpath and selenium automation', 'summary': "Discusses the types of xpath - absolute and relative, their syntax and examples, along with the use of xpath functions in selenium automation, highlighting the 'contains' method.", 'duration': 326.513, 'highlights': ['The chapter explains the difference between single front slash and double front slash in XPath, where single front slash instructs XPath engine to start from the root node, while double front slash instructs it to search for matching elements anywhere in the XML document.', 'It provides examples of absolute and relative XPath syntax, highlighting the disadvantages of absolute XPath due to potential failure with element XPath changes.', 'The transcript includes a practical example of using XPath to locate elements on the Amazon website, demonstrating the use of tag names and attributes, along with traversal using absolute XPath.', "It discusses the importance of XPath functions in Selenium automation, specifically focusing on the 'contains' method for handling dynamically changing attribute values.", 'The chapter emphasizes the challenges faced in identifying elements with the same attributes on a webpage and the role of XPath functions in addressing such issues.']}, {'end': 9278.26, 'start': 8878.289, 'title': 'Xpath functions for web element location', 'summary': 'Demonstrates how to use xpath functions like contains, starts with, text, and or operation to locate web elements, highlighting the usage and advantages of partial xpath queries and demonstrating their functionality on amazon and yahoo mail websites.', 'duration': 399.971, 'highlights': ['The chapter explains the usage and advantages of partial XPath queries for locating web elements, demonstrating the use of functions like contains, starts with, text, and or operation.', 'It demonstrates the use of partial XPath queries to locate web elements on Amazon and Yahoo Mail websites, showcasing the functionality of functions like contains, starts with, text, and or operation.', "The chapter showcases the usage of the contains function in XPath to locate web elements based on partial attribute values, demonstrating its ability to find elements containing specific values like 'sprites'.", "It explains the functionality of the starts with function in XPath to locate web elements based on the starting text of attributes that change dynamically, providing examples of how to use this function to find elements starting with specific values like 'shop'.", "The transcript details the usage of the text function in XPath to locate web elements with exact text values, demonstrating its ability to locate elements based on specific text content like 'orders'."]}, {'end': 9673.153, 'start': 9278.56, 'title': 'Selenium xpath and webdriver usage', 'summary': 'Covers the usage of xpath functions for locating elements, registering drivers for chrome and mozilla, and understanding the importance of weights in selenium, with practical examples and benefits explained.', 'duration': 394.593, 'highlights': ['The chapter explains the usage of XPath functions for locating elements, and demonstrates the process of registering drivers for both Chrome and Mozilla.', 'The importance of weights in Selenium is highlighted, emphasizing the troubleshooting benefits and real-time practical usage of implicit and explicit weights.', 'The practical significance of using both implicit and explicit weights in automation testing is explained, demonstrating how they resolve issues in locating elements and simulating real-time scenarios.']}], 'duration': 1654.671, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw8018482.jpg', 'highlights': ['The chapter covers practical demonstrations of using CSS selectors and XPath in Selenium to locate elements.', 'The practical example demonstrates the use of XPath to locate an element in a web page, providing a step-by-step process of inspecting the element, identifying its tag and attributes, and constructing an XPath query to locate the element based on its tag and attributes.', 'The chapter explains the difference between single front slash and double front slash in XPath, where single front slash instructs XPath engine to start from the root node, while double front slash instructs it to search for matching elements anywhere in the XML document.', 'The chapter explains the usage and advantages of partial XPath queries for locating web elements, demonstrating the use of functions like contains, starts with, text, and or operation.', 'The importance of weights in Selenium is highlighted, emphasizing the troubleshooting benefits and real-time practical usage of implicit and explicit weights.']}, {'end': 11846.972, 'segs': [{'end': 9696.335, 'src': 'embed', 'start': 9673.803, 'weight': 2, 'content': [{'end': 9681.447, 'text': 'The implicit wait will tell to the web driver to wait for a certain amount of time before it throws a no such element exception,', 'start': 9673.803, 'duration': 7.644}, {'end': 9683.568, 'text': 'and here the default setting is 0.', 'start': 9681.447, 'duration': 2.121}, {'end': 9688.131, 'text': 'once we set the time, web driver will wait for that time before throwing an exception.', 'start': 9683.568, 'duration': 4.563}, {'end': 9696.335, 'text': 'So on the screen you can see the syntax that is driver dot manage or timeouts, followed by implicitly wait, and you will be passing timeout,', 'start': 9688.591, 'duration': 7.744}], 'summary': 'Implicit wait sets default time for web driver to wait before throwing exception.', 'duration': 22.532, 'max_score': 9673.803, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw9673803.jpg'}, {'end': 10126.723, 'src': 'embed', 'start': 10098.411, 'weight': 1, 'content': [{'end': 10102.913, 'text': 'So these are some of the scenarios where explicitly wait is more essential.', 'start': 10098.411, 'duration': 4.502}, {'end': 10109.256, 'text': 'So explicit wait is a concept of dynamic wait which will wait dynamically for specific conditions.', 'start': 10103.433, 'duration': 5.823}, {'end': 10112.377, 'text': 'It can be implemented by the WebDriver class.', 'start': 10109.776, 'duration': 2.601}, {'end': 10116.859, 'text': "So let's consider an example and see how to use explicitly waits.", 'start': 10112.937, 'duration': 3.922}, {'end': 10122.221, 'text': 'So instead of this I will use facebook.com.', 'start': 10118.099, 'duration': 4.122}, {'end': 10126.723, 'text': "Okay, so I'll copy this link and replace it over here.", 'start': 10122.621, 'duration': 4.102}], 'summary': 'Explicitly wait is essential in dynamic scenarios for webdriver class implementation.', 'duration': 28.312, 'max_score': 10098.411, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw10098411.jpg'}, {'end': 10682.451, 'src': 'embed', 'start': 10660.696, 'weight': 4, 'content': [{'end': 10669.38, 'text': 'we can specify the frequency with which fluent wait has to check the conditions defined and ignore the specific types of exception waiting,', 'start': 10660.696, 'duration': 8.684}, {'end': 10676.648, 'text': 'like no such element exceptions while searching for an element on the web page, and the maximum amount of time to wait for a condition.', 'start': 10669.38, 'duration': 7.268}, {'end': 10682.451, 'text': 'This is rarely used, as it always force the browser to wait for a specific time.', 'start': 10677.148, 'duration': 5.303}], 'summary': 'Fluent wait specifies frequency, ignores exceptions, and sets maximum wait time.', 'duration': 21.755, 'max_score': 10660.696, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw10660696.jpg'}, {'end': 10937.284, 'src': 'embed', 'start': 10904.624, 'weight': 0, 'content': [{'end': 10908.227, 'text': "but you may not know how to handle it when you're testing the web page.", 'start': 10904.624, 'duration': 3.603}, {'end': 10913.209, 'text': 'So this video is everything you need to know about handling alerts in selenium.', 'start': 10908.827, 'duration': 4.382}, {'end': 10915.41, 'text': "So let's move on and understand.", 'start': 10913.689, 'duration': 1.721}, {'end': 10922.653, 'text': 'What are the different types of alerts? There are a few common types of alerts that you might get while testing an application.', 'start': 10915.61, 'duration': 7.043}, {'end': 10927.815, 'text': 'They are basically a simple alert a prompt alert and a confirmation alert.', 'start': 10923.173, 'duration': 4.642}, {'end': 10930.436, 'text': "Let's understand them in detail first.", 'start': 10928.255, 'duration': 2.181}, {'end': 10930.956, 'text': "We'll see.", 'start': 10930.516, 'duration': 0.44}, {'end': 10937.284, 'text': 'What is a simple alert? This simple alert displays some information or a warning on the screen.', 'start': 10931.136, 'duration': 6.148}], 'summary': 'Learn how to handle different types of alerts in selenium testing.', 'duration': 32.66, 'max_score': 10904.624, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw10904624.jpg'}, {'end': 11309.144, 'src': 'embed', 'start': 11275.004, 'weight': 3, 'content': [{'end': 11280.146, 'text': "The first thing you need to do when you're working on selenium is to set the browser driver.", 'start': 11275.004, 'duration': 5.142}, {'end': 11284.167, 'text': "In this case, I'm going to be considering working on the Chrome driver.", 'start': 11280.746, 'duration': 3.421}, {'end': 11290.409, 'text': "So I'm going to set the system property to the Chrome driver.", 'start': 11284.547, 'duration': 5.862}, {'end': 11301.779, 'text': 'That is webdriver.chrome.driver and the second argument holds the path in which it is located.', 'start': 11290.429, 'duration': 11.35}, {'end': 11304.621, 'text': "Let's see where it is located.", 'start': 11302.5, 'duration': 2.121}, {'end': 11309.144, 'text': "Okay, so I'm just going to copy this path.", 'start': 11306.362, 'duration': 2.782}], 'summary': 'Setting the chrome driver path is essential when working with selenium.', 'duration': 34.14, 'max_score': 11275.004, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw11275004.jpg'}], 'start': 9673.803, 'title': 'Selenium webdriver', 'summary': 'Covers implicit and explicit waits, weights, and alerts in selenium, with examples and recommendations, including handling alerts and automating web actions.', 'chapters': [{'end': 10020.588, 'start': 9673.803, 'title': 'Implicit wait in selenium', 'summary': 'Explains the concept of implicit wait in selenium, including the default setting, syntax for implementation, and examples of setting implicit waits for elements, with a mention of dynamic nature and global applicability, and a demonstration of locating and interacting with web elements using xpath.', 'duration': 346.785, 'highlights': ['The chapter explains the syntax for implementing implicit wait in Selenium, where the default setting is 0 and the wait time can be specified in seconds, with an example of setting an implicit wait for 10 seconds for element location, and a page load timeout of 40 seconds, demonstrating the practical application of implicit waits.', 'It mentions the dynamic nature of implicit wait, where if an element is loaded before the specified wait time, the remaining time will be ignored, emphasizing the dynamic behavior of all types of waits in Selenium.', 'The chapter demonstrates the global applicability of implicitly wait in Selenium, where it is applicable to all web elements throughout the driver instance, and gives an example of using implicitly wait for 20 seconds globally for all web elements.', 'It provides a practical demonstration of locating and interacting with web elements using XPath in Selenium, with examples of navigating to a web page, locating elements using XPath, and performing actions such as sending keys and clicking buttons, showcasing the practical application of implicit waits in Selenium for element location and interaction.']}, {'end': 10463.904, 'start': 10020.588, 'title': 'Selenium webdriver waits', 'summary': 'Explains the concepts of implicit and explicit waits in selenium webdriver, detailing their usage and advantages with examples, demonstrating how explicit waits wait dynamically for specific conditions, and highlighting the difference between explicit and implicit waits.', 'duration': 443.316, 'highlights': ['The concept of explicit wait is explained with examples, including scenarios where explicit wait is essential, such as waiting for specific titles or elements to load, and waiting for complete data to be loaded in a travel application, highlighting the importance and practical application of explicit waits.', 'The process of implementing explicit waits is detailed, including creating web elements, performing actions using utility methods with explicit waits, and using expected conditions like visibility of elements and element to be clickable, providing insights into the syntax and implementation of explicit waits.', 'The advantages of explicit waits over implicit waits are highlighted, emphasizing the flexibility of setting wait times based on specific requirements and the ability to change wait times for different elements, contrasting with the inflexibility of implicit waits.', 'The use of partial values to locate dynamic elements on web pages, particularly in cases involving Ajax, is explained, showcasing an additional technique for handling dynamic elements in web automation.']}, {'end': 10786.346, 'start': 10464.504, 'title': 'Understanding weights in selenium', 'summary': 'Explains the concept of implicit and explicit weights in selenium, highlighting their differences and providing examples. it also introduces fluent weights and their usage, emphasizing the recommended scenarios for using each type of weight.', 'duration': 321.842, 'highlights': ['The chapter explains the differences between implicit and explicit weights in Selenium, emphasizing the global nature of implicit weight and the need to specify expected conditions for explicit weight. It also recommends using implicit weight for elements located within the specified time frame and using explicit weight for elements taking a longer time to load or for verifying specific properties.', 'Fluent weight in Selenium is introduced as a method to specify the frequency with which conditions are checked and to handle specific types of exceptions. The example provided demonstrates the usage of fluent weight with timeout and polling frequency parameters, along with ignoring specific exceptions, to wait for a condition and perform operations accordingly.', 'The concept of overriding implicit weight in Selenium is explained, highlighting its global nature and the ability to change its value anywhere and anytime in the program. The example of changing the implicit weight value to 40 seconds is provided to illustrate its behavior of considering the latest value and ignoring the old one.']}, {'end': 11272.543, 'start': 10786.346, 'title': 'Understanding alerts in selenium', 'summary': 'Covers the types of alerts in selenium, including simple alerts, prompt alerts, and confirmation alerts, and provides guidance on handling alerts, with a walkthrough on setting up a java project for testing and handling alerts in selenium.', 'duration': 486.197, 'highlights': ['The chapter covers the types of alerts in Selenium, including simple alerts, prompt alerts, and confirmation alerts, and provides guidance on handling alerts, with a walkthrough on setting up a Java project for testing and handling alerts in Selenium.', 'Alerts are an interface between the web page and user interface, displaying on-screen notifications or seeking user input, and can be used for warning purposes.', 'The different types of alerts in Selenium are simple alerts, prompt alerts that request user input, and confirmation alerts that seek permission for an operation.', 'Methods for handling alerts in Selenium include dismiss, accept, get text, and send keys, which allow clicking the cancel or OK button, capturing the alert message, and sending data to the alert box, respectively.', 'The chapter also discusses the prerequisites for working with alerts in Selenium, such as having the latest version of Java installed and using Eclipse IDE for Java projects.']}, {'end': 11846.972, 'start': 11275.004, 'title': 'Selenium web automation', 'summary': 'Covers setting up the chrome driver, navigating to a web page, handling selenium alert box and pop-up, and maximizing the window using selenium, with specific code examples and explanations.', 'duration': 571.968, 'highlights': ['The chapter provides detailed steps on setting up the Chrome driver for Selenium, including specifying the system property and instantiating the browser driver, with code examples and explanations.', 'It demonstrates navigating to a web page using Selenium, including getting the URL and finding and interacting with display alert boxes and pop-ups, with specific code examples and explanations.', 'The chapter explains the process of handling selenium alert boxes, including finding the element, clicking on the box, switching control to the alert window, and retrieving and printing the text message, with code examples and explanations.', 'It details the handling of pop-ups using Selenium, including finding the element, using the robot class to handle mouse functions, pressing and releasing the mouse, and quitting the driver execution, with code examples and explanations.']}], 'duration': 2173.169, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw9673803.jpg', 'highlights': ['The chapter covers the types of alerts in Selenium, including simple alerts, prompt alerts, and confirmation alerts, and provides guidance on handling alerts, with a walkthrough on setting up a Java project for testing and handling alerts in Selenium.', 'The concept of explicit wait is explained with examples, including scenarios where explicit wait is essential, such as waiting for specific titles or elements to load, and waiting for complete data to be loaded in a travel application, highlighting the importance and practical application of explicit waits.', 'The chapter explains the syntax for implementing implicit wait in Selenium, where the default setting is 0 and the wait time can be specified in seconds, with an example of setting an implicit wait for 10 seconds for element location, and a page load timeout of 40 seconds, demonstrating the practical application of implicit waits.', 'The chapter provides detailed steps on setting up the Chrome driver for Selenium, including specifying the system property and instantiating the browser driver, with code examples and explanations.', 'Fluent weight in Selenium is introduced as a method to specify the frequency with which conditions are checked and to handle specific types of exceptions. The example provided demonstrates the usage of fluent weight with timeout and polling frequency parameters, along with ignoring specific exceptions, to wait for a condition and perform operations accordingly.']}, {'end': 13987.293, 'segs': [{'end': 12782.338, 'src': 'embed', 'start': 12735.678, 'weight': 0, 'content': [{'end': 12738.1, 'text': 'So these are some of the types of exception.', 'start': 12735.678, 'duration': 2.422}, {'end': 12745.007, 'text': 'again, if you want to switch to some frame that is not present, then again it will say no such frame exception.', 'start': 12738.1, 'duration': 6.907}, {'end': 12747.149, 'text': "Now, let's run and check the output.", 'start': 12745.547, 'duration': 1.602}, {'end': 12758.199, 'text': "Yes, you can see that it's telling no frame element found by name or ID that is fail.", 'start': 12751.653, 'duration': 6.546}, {'end': 12762.567, 'text': 'Yes So you learned about no such element exception.', 'start': 12758.759, 'duration': 3.808}, {'end': 12764.048, 'text': 'No such frame exception.', 'start': 12762.647, 'duration': 1.401}, {'end': 12766.65, 'text': 'No such window no alert present.', 'start': 12764.629, 'duration': 2.021}, {'end': 12767.97, 'text': 'So, basically,', 'start': 12767.25, 'duration': 0.72}, {'end': 12777.055, 'text': "these are the different types of exceptions that occurs when you're working with selenium web driver and that should be handled in order to continue with the normal flow of the execution.", 'start': 12767.97, 'duration': 9.085}, {'end': 12782.338, 'text': 'else it will disrupt the normal flow and the program execution will not be happening in a proper way.', 'start': 12777.055, 'duration': 5.283}], 'summary': 'Types of exceptions in selenium: no such frame, window, or alert. must be handled for normal flow of execution.', 'duration': 46.66, 'max_score': 12735.678, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw12735678.jpg'}, {'end': 12870.18, 'src': 'embed', 'start': 12839.842, 'weight': 4, 'content': [{'end': 12842.203, 'text': 'the same goes with the selenium web driver.', 'start': 12839.842, 'duration': 2.361}, {'end': 12849.508, 'text': 'to guys, selenium provides certain functionalities that help in listening to a particular event, which in turn acts as an interface.', 'start': 12842.203, 'duration': 7.305}, {'end': 12853.09, 'text': "Now I'll give you a formal definition of what our listeners.", 'start': 12849.968, 'duration': 3.122}, {'end': 12859.413, 'text': 'Listener is defined as an interface that modifies the default behavior of the program.', 'start': 12853.749, 'duration': 5.664}, {'end': 12865.637, 'text': 'as the name suggests, listeners listen to the event defined in the selenium script and behave accordingly.', 'start': 12859.413, 'duration': 6.224}, {'end': 12870.18, 'text': 'It is used in selenium by implementing an interface called listeners.', 'start': 12866.198, 'duration': 3.982}], 'summary': 'Selenium web driver uses listeners to modify program behavior and respond to defined events.', 'duration': 30.338, 'max_score': 12839.842, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw12839842.jpg'}, {'end': 13292.252, 'src': 'embed', 'start': 13268.611, 'weight': 1, 'content': [{'end': 13276.938, 'text': 'JavaScript executor is an interface that helps to execute the JavaScript through the selenium web driver after creating an object.', 'start': 13268.611, 'duration': 8.327}, {'end': 13280.241, 'text': "I'm going to link this JavaScript executor to the driver.", 'start': 13277.038, 'duration': 3.203}, {'end': 13285.108, 'text': "and after this I'm going to create an object of the event firing web driver.", 'start': 13280.885, 'duration': 4.223}, {'end': 13288.83, 'text': 'I think you guys have understood what is an event firing web driver.', 'start': 13285.568, 'duration': 3.262}, {'end': 13292.252, 'text': 'It is a class that implements the web driver interface.', 'start': 13289.27, 'duration': 2.982}], 'summary': 'Javascript executor interfaces with selenium web driver to execute javascript after creating an object.', 'duration': 23.641, 'max_score': 13268.611, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw13268611.jpg'}, {'end': 13595.17, 'src': 'embed', 'start': 13567.343, 'weight': 5, 'content': [{'end': 13570.388, 'text': "Now, let's understand what are the test ng listeners.", 'start': 13567.343, 'duration': 3.045}, {'end': 13576.222, 'text': 'TestNG listeners allow customizing of the TestNG reports or logs.', 'start': 13571.3, 'duration': 4.922}, {'end': 13584.766, 'text': "Now say you want to get the report of the functions or the programs that you've executed and the log functionalities of the program.", 'start': 13576.642, 'duration': 8.124}, {'end': 13586.446, 'text': 'So how would you do that?', 'start': 13585.146, 'duration': 1.3}, {'end': 13587.267, 'text': 'using Selenium?', 'start': 13586.446, 'duration': 0.821}, {'end': 13595.17, 'text': "So this TestNG plays an important role in getting the reports or the logs of the programs or the processes that you've executed.", 'start': 13587.567, 'duration': 7.603}], 'summary': 'Testng listeners customize reports/logs for executed programs using selenium.', 'duration': 27.827, 'max_score': 13567.343, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw13567343.jpg'}, {'end': 13875.804, 'src': 'embed', 'start': 13849.879, 'weight': 2, 'content': [{'end': 13856.501, 'text': 'So using this on test success function we can specify if the test case was successful or not.', 'start': 13849.879, 'duration': 6.622}, {'end': 13859.122, 'text': 'So this is our listener test program guys.', 'start': 13857.062, 'duration': 2.06}, {'end': 13862.604, 'text': "Now, let's move on and understand our main function that is test case.", 'start': 13859.222, 'duration': 3.382}, {'end': 13868.4, 'text': 'Now to implement these listeners into our regular project that is this test case project.', 'start': 13863.357, 'duration': 5.043}, {'end': 13872.102, 'text': 'There are two ways you can connect to the class and the interface.', 'start': 13868.76, 'duration': 3.342}, {'end': 13875.804, 'text': 'So the first method is by using the listeners annotation.', 'start': 13872.682, 'duration': 3.122}], 'summary': 'Using listeners annotation for test success function in test case program.', 'duration': 25.925, 'max_score': 13849.879, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw13849879.jpg'}], 'start': 11852.934, 'title': 'Handling selenium alerts, exceptions, and listeners', 'summary': 'Covers handling alerts, exception fundamentals, and various webdriver exceptions in selenium, emphasizing the importance of exception handling. it also introduces selenium listeners and demonstrates their implementation to capture events in the test case project.', 'chapters': [{'end': 11901.364, 'start': 11852.934, 'title': 'Handling alerts in selenium', 'summary': 'Covers handling alerts in selenium, including clicking on display alerts and pop-ups, and mentions that alerts are mainly used in banking and e-commerce websites like amazon, flipkart, and snapdeal.', 'duration': 48.43, 'highlights': ['Alerts are mainly used in banking and e-commerce websites like Amazon, Flipkart, and Snapdeal.', 'Handling alerts in Selenium involves clicking on display alerts and pop-ups.', 'Alerts display warning messages and are not present in all web applications.']}, {'end': 12166.629, 'start': 11906.636, 'title': 'Selenium exception handling', 'summary': 'Discusses the fundamentals of exception handling in selenium, including the types of exceptions, differences between checked and unchecked exceptions, and the basic structure of handling exceptions, emphasizing the importance of handling exceptions to maintain the normal flow of execution.', 'duration': 259.993, 'highlights': ['The chapter discusses the types of exceptions in depth, emphasizing the importance of understanding various methods of exception handling and providing examples to demonstrate handling exceptions effectively.', 'It explains the difference between checked and unchecked exceptions, highlighting that checked exceptions are verified by the compiler during compilation, while unchecked exceptions occur at the time of execution, and the programmer should handle checked exceptions to maintain the normal flow of execution.', 'The chapter covers the basic structure of handling exceptions in Selenium, emphasizing the use of try and catch blocks to handle exceptions and continue with the normal execution flow.', 'It provides an overview of exceptions hierarchy, explaining that all exceptions and error types are subclasses of class throwable, and distinguishes between exceptions and errors, where checked exceptions are to be handled by the programmer to maintain the normal flow of execution.']}, {'end': 12655.932, 'start': 12167.47, 'title': 'Handling webdriver exceptions', 'summary': 'Discusses five types of exceptions in selenium webdriver, including webdriver exception, no such element exception, no such frame exception, no alert present exception, and timeout exception, providing examples and explaining how to handle these exceptions using try-catch, throw, throws, and finally blocks.', 'duration': 488.462, 'highlights': ['The chapter discusses five types of exceptions in Selenium WebDriver: WebDriver Exception, No Such Element Exception, No Such Frame Exception, No Alert Present Exception, and Timeout Exception, providing an example for each type and explaining how to handle it using try-catch blocks.', "No Such Element Exception is raised when the web driver does not find a particular element, and an example is provided where the element 'fake.click' is not found on google.com, resulting in the exception being thrown.", 'The chapter explains how to handle exceptions using try-catch blocks, demonstrating the handling of No Such Element Exception by catching the exception and printing a custom message, thus ensuring the normal flow of execution is not interrupted.', 'The methods to handle exceptions, including try, catch, throw, throws, and finally, are explained, with examples provided for each method and their specific use cases.', 'The usage of throw to forcibly throw an exception, despite being handled by the catch block, and the necessity of using throws to declare exceptions when using certain statements like thread.sleep, are demonstrated with examples.']}, {'end': 13224.944, 'start': 12656.492, 'title': 'Handling exceptions and understanding selenium listeners', 'summary': "Discusses handling various exceptions in selenium webdriver, including 'no such alert', 'no such window', 'no such frame', and 'no such element' exceptions. it also introduces selenium listeners, explaining their role as interfaces modifying the default behavior of the program and the types of listeners, including webdriver listeners and testng listeners.", 'duration': 568.452, 'highlights': ["The chapter discusses handling various exceptions in Selenium WebDriver, including 'no such alert', 'no such window', 'no such frame', and 'no such element' exceptions.", 'It introduces Selenium listeners, explaining their role as interfaces modifying the default behavior of the program.', 'The types of listeners are also explained, including WebDriver listeners and TestNG listeners.']}, {'end': 13662.631, 'start': 13225.584, 'title': 'Selenium webdriver listeners', 'summary': 'Explains setting up the browser property, creating objects of web driver, javascript executor, event firing web driver, and event capture program, as well as the usage of navigate to command and testng listeners in selenium.', 'duration': 437.047, 'highlights': ['The chapter explains the process of setting up the browser property, creating objects of web driver, JavaScript executor, event firing web driver, and event capture program, and using the navigate to command in Selenium.', 'The chapter details the usage of TestNG listeners to customize reports or logs in Selenium, including the methods like on start, on test success, on test failure, on test skipped, and on test failed but within success percentage.']}, {'end': 13987.293, 'start': 13663.111, 'title': 'Implementing testng listeners', 'summary': 'Explains how to implement testng listeners to capture events like test success, failure, and start, and demonstrates creating listener test program and connecting it to the test case project.', 'duration': 324.182, 'highlights': ['The chapter demonstrates creating a listener test program that implements ITestListener interface and overrides functions like onFinish, onStart, onTestFailed, onTestSkipped, onTestStart, and onTestSuccess to capture various test events.', 'It also explains connecting the listener test class to the test case class using the @Listeners annotation and creating a test case class with a login function, utilizing WebDriver and JavaScript Executor to perform operations like setting up the browser driver, getting the URL, scrolling, and maximizing the web page.', 'The demonstration includes specifying the CSS selector for the search box using the findElement function and highlighting that the CSS selector always starts with a symbol.', 'The code examples and explanations provided in the transcript make it easy to understand the process of implementing TestNG listeners and connecting them to a test case project, aiding in comprehensive learning.']}], 'duration': 2134.359, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw11852934.jpg', 'highlights': ['The chapter discusses five types of exceptions in Selenium WebDriver, providing an example for each type.', 'The chapter explains the process of setting up the browser property, creating objects of web driver, JavaScript executor, and event capture program.', 'The chapter demonstrates creating a listener test program that implements ITestListener interface and overrides functions like onFinish, onStart, onTestFailed, onTestSkipped, onTestStart, and onTestSuccess to capture various test events.', "The chapter discusses handling various exceptions in Selenium WebDriver, including 'no such alert', 'no such window', 'no such frame', and 'no such element' exceptions.", 'The chapter introduces Selenium listeners, explaining their role as interfaces modifying the default behavior of the program.', 'The chapter details the usage of TestNG listeners to customize reports or logs in Selenium, including the methods like on start, on test success, on test failure, on test skipped, and on test failed but within success percentage.']}, {'end': 15391.251, 'segs': [{'end': 14032.71, 'src': 'embed', 'start': 13987.773, 'weight': 9, 'content': [{'end': 13999.458, 'text': "So I've specified the hash before the value of the element and I'm going to send keys to the particular location that is test automation engineer masters program and click the search button.", 'start': 13987.773, 'duration': 11.685}, {'end': 14001.399, 'text': "So let's go back to our web page.", 'start': 13999.538, 'duration': 1.861}, {'end': 14004.86, 'text': 'The search button is what we want to search for.', 'start': 14002.479, 'duration': 2.381}, {'end': 14008.142, 'text': 'So just click on it and inspect.', 'start': 14004.88, 'duration': 3.262}, {'end': 14012.555, 'text': 'So you can see that the class is present here.', 'start': 14010.433, 'duration': 2.122}, {'end': 14017.979, 'text': "So I'm going to copy this class name and go back to my project and paste it.", 'start': 14012.715, 'duration': 5.264}, {'end': 14026.786, 'text': "Okay and click the search box, and after this I'm going to perform actions like scrolling down the web page and pausing,", 'start': 14018.539, 'duration': 8.247}, {'end': 14032.71, 'text': 'so you can see that there are three commands here, which contains the object of the JavaScript executor,', 'start': 14026.786, 'duration': 5.924}], 'summary': 'In the test automation process, specified hash before value, sent keys, and performed actions like scrolling, pausing, and executing javascript.', 'duration': 44.937, 'max_score': 13987.773, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw13987773.jpg'}, {'end': 14145.627, 'src': 'embed', 'start': 14111.196, 'weight': 4, 'content': [{'end': 14115.64, 'text': 'You can see that it is crawling down through the page without clicking the button.', 'start': 14111.196, 'duration': 4.444}, {'end': 14118.703, 'text': 'So you can see the output of this guys.', 'start': 14116.08, 'duration': 2.623}, {'end': 14123.227, 'text': 'It says one test case is successful and one test case is passed.', 'start': 14119.383, 'duration': 3.844}, {'end': 14125.409, 'text': "Let's look at the console.", 'start': 14124.008, 'duration': 1.401}, {'end': 14132.036, 'text': 'Okay You can see that the message is printed here can also figure that out using this result.', 'start': 14126.21, 'duration': 5.826}, {'end': 14136.42, 'text': 'It says to test cases are run in total and one failure.', 'start': 14132.537, 'duration': 3.883}, {'end': 14145.627, 'text': 'That is, you can see that it navigated to the web page edureka.co maximize the screen, searched for the search box and sent keys to it,', 'start': 14137.06, 'duration': 8.567}], 'summary': 'Automated test ran 2 cases: 1 passed, 1 failed.', 'duration': 34.431, 'max_score': 14111.196, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw14111196.jpg'}, {'end': 14193.973, 'src': 'embed', 'start': 14163.303, 'weight': 5, 'content': [{'end': 14169.069, 'text': "Now, let's move on and understand the major differences between the webdriver listener and the test ng listeners.", 'start': 14163.303, 'duration': 5.766}, {'end': 14174.144, 'text': 'The test ng listeners are used to generate the reports for the test cases.', 'start': 14169.702, 'duration': 4.442}, {'end': 14183.669, 'text': 'It also helps in capturing the screenshot of the test cases failed and it also helps in performing events like on test failure,', 'start': 14174.704, 'duration': 8.965}, {'end': 14185.81, 'text': 'on test skipped and on test success.', 'start': 14183.669, 'duration': 2.141}, {'end': 14193.973, 'text': 'Whereas the web driver listeners perform jobs like the test ng listeners of the logging and reporting functions,', 'start': 14186.39, 'duration': 7.583}], 'summary': 'Testng listeners generate reports, capture screenshots, and perform events. webdriver listeners handle logging and reporting functions.', 'duration': 30.67, 'max_score': 14163.303, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw14163303.jpg'}, {'end': 14302.752, 'src': 'embed', 'start': 14276.566, 'weight': 0, 'content': [{'end': 14281.247, 'text': 'parameterization and sequencing techniques in the code, which was not possible earlier.', 'start': 14276.566, 'duration': 4.681}, {'end': 14288.326, 'text': 'Besides managing the test cases, even detailed reports of tests can be obtained by using test ng,', 'start': 14281.943, 'duration': 6.383}, {'end': 14296.609, 'text': 'and there will be a summary displaying the test case that has failed, along with the group which it was part of and the class that it falls under,', 'start': 14288.326, 'duration': 8.283}, {'end': 14299.23, 'text': 'when bugs can be accurately located like this.', 'start': 14296.609, 'duration': 2.621}, {'end': 14302.752, 'text': 'They can be fixed immediately to the relief of developers.', 'start': 14299.711, 'duration': 3.041}], 'summary': 'Testng enables parameterization and sequencing, providing detailed test reports and quick bug location for immediate developer relief.', 'duration': 26.186, 'max_score': 14276.566, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw14276566.jpg'}, {'end': 14368.742, 'src': 'embed', 'start': 14344.166, 'weight': 3, 'content': [{'end': 14350.45, 'text': 'You can use testng for the same purpose, and this is where testng fits in the selenium framework.', 'start': 14344.166, 'duration': 6.284}, {'end': 14357.074, 'text': 'also, testng helps in generating a report in a proper format that includes a number of test cases runs,', 'start': 14350.45, 'duration': 6.624}, {'end': 14363.098, 'text': 'the number of test cases pass and the number of test cases failed, and the tests that have been skipped as well,', 'start': 14357.074, 'duration': 6.024}, {'end': 14368.742, 'text': 'and multiple test cases can be grouped more easily by converting them into testng.xml file.', 'start': 14363.098, 'duration': 5.644}], 'summary': 'Testng integrates with selenium for generating detailed test reports and grouping multiple test cases in a testng.xml file.', 'duration': 24.576, 'max_score': 14344.166, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw14344166.jpg'}, {'end': 14435.58, 'src': 'embed', 'start': 14404.382, 'weight': 2, 'content': [{'end': 14407.763, 'text': 'So here annotations are easier to understand.', 'start': 14404.382, 'duration': 3.381}, {'end': 14413.925, 'text': 'annotations in test and G are the lines of code that control how the method below them will be executed,', 'start': 14407.763, 'duration': 6.162}, {'end': 14417.265, 'text': 'and they are always preceded by the at symbol.', 'start': 14413.925, 'duration': 3.34}, {'end': 14424.19, 'text': 'so you can see you can set your priorities, like you can set the priority to 0 and you can set the priority to 1, and also,', 'start': 14417.265, 'duration': 6.925}, {'end': 14427.633, 'text': 'if you want to execute some of the test cases before the test,', 'start': 14424.19, 'duration': 3.443}, {'end': 14435.58, 'text': 'that should be followed by at before annotation and the test that have to be executing during the test with at test annotation and after the test,', 'start': 14427.633, 'duration': 7.947}], 'summary': 'Annotations control method execution; priorities can be set to 0 or 1.', 'duration': 31.198, 'max_score': 14404.382, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw14404382.jpg'}, {'end': 14480.915, 'src': 'embed', 'start': 14448.38, 'weight': 1, 'content': [{'end': 14450.301, 'text': 'Next parallel testing is possible.', 'start': 14448.38, 'duration': 1.921}, {'end': 14459.265, 'text': 'So, in case of parallel testing, you can simultaneously test the test cases in various browsers like Google Chrome, Mozilla Firefox, Edge,', 'start': 14450.901, 'duration': 8.364}, {'end': 14461.566, 'text': 'Safari Opera and many more so.', 'start': 14459.265, 'duration': 2.301}, {'end': 14469.53, 'text': 'for that, you just have to mention the driver and the path of the particular drivers, and also detailed log report can be generated.', 'start': 14461.566, 'duration': 7.964}, {'end': 14474.61, 'text': 'So these are few of the advantages of test ng over J unit.', 'start': 14470.166, 'duration': 4.444}, {'end': 14480.915, 'text': "having understood this now, let's dive into the core part of the discussion, that is, test ng annotations.", 'start': 14474.61, 'duration': 6.305}], 'summary': 'Parallel testing allows simultaneous testing in various browsers like chrome, firefox, etc., generating detailed log reports and offering advantages over junit.', 'duration': 32.535, 'max_score': 14448.38, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw14448380.jpg'}, {'end': 14660.866, 'src': 'embed', 'start': 14618.556, 'weight': 6, 'content': [{'end': 14627.921, 'text': 'So these are the various test ng annotations in selenium and, as you understood, each method or each annotation has its own purpose.', 'start': 14618.556, 'duration': 9.365}, {'end': 14632.823, 'text': "having understood this, let's move further and see how to write a test case using test ng.", 'start': 14627.921, 'duration': 4.902}, {'end': 14635.343, 'text': 'So this is a flow of execution.', 'start': 14633.641, 'duration': 1.702}, {'end': 14641.552, 'text': 'So first you have to write before suit, after that, before test, after that classes, before method,', 'start': 14635.824, 'duration': 5.728}, {'end': 14648.321, 'text': 'then you will get your test annotation and after that after method, after class after test, and finally you have to close after suit.', 'start': 14641.552, 'duration': 6.769}, {'end': 14656.044, 'text': 'So this is the execution flow and this is how it will execute, no matter what, even if you jumble it, or even if you write after suit before,', 'start': 14648.781, 'duration': 7.263}, {'end': 14660.866, 'text': 'or if you write after class after that, or if you write the before test as first and then you write the before.', 'start': 14656.044, 'duration': 4.822}], 'summary': 'Learn the sequence of test ng annotations in selenium for test case execution.', 'duration': 42.31, 'max_score': 14618.556, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw14618556.jpg'}], 'start': 13987.773, 'title': 'Selenium test automation and testng', 'summary': 'Covers specifying hash, sending keys, and scrolling down web pages using selenium, as well as implementing test case failure, success rate, and testng annotations in selenium, with a focus on commands, listeners, annotations, and class names.', 'chapters': [{'end': 14032.71, 'start': 13987.773, 'title': 'Selenium test automation', 'summary': 'Discusses the process of specifying hash, sending keys, and performing actions such as scrolling down the web page in the test automation engineer masters program using selenium, including specific commands and class names.', 'duration': 44.937, 'highlights': ['Performing actions such as scrolling down the web page and pausing after clicking the search button.', 'Specifying hash before the value of the element and sending keys to the particular location in the test automation engineer masters program.', 'Inspecting and copying the class name of the search button for use in the project.']}, {'end': 14403.622, 'start': 14032.71, 'title': 'Listeners in selenium & testng', 'summary': 'Discusses the implementation of test case failure, success rate, and the differences between testng and webdriver listeners in selenium, while also highlighting the features of testng and its importance in selenium, such as generating reports, grouping test cases, and supporting cross-browser testing.', 'duration': 370.912, 'highlights': ['The chapter covers the implementation of test case failure and success rate, with one test case being successful and one test case passing, but also one failure, demonstrating the practical application of test case failure and success rate (1 successful test case, 1 test case passed, 1 test case failure).', 'The chapter outlines the major differences between TestNG and WebDriver listeners, such as TestNG listeners generating reports, capturing screenshots of failed test cases, and performing events like on test failure, on test skipped, and on test success, while WebDriver listeners perform logging and reporting functions differently with different events, providing a clear distinction between the two (TestNG listeners: report generation, screenshot capture, event handling; WebDriver listeners: different event handling).', 'The chapter emphasizes the importance of TestNG in Selenium, highlighting its features such as generating detailed reports of test cases, grouping test cases, prioritization, parameterization, and sequencing techniques, which facilitate efficient bug identification and fixing, ultimately saving debugging time for software developers (features: detailed reports, grouping, prioritization, parameterization, sequencing; efficient bug identification, time-saving).']}, {'end': 14780.541, 'start': 14404.382, 'title': 'Testng annotations and test cases', 'summary': 'Covers the importance of testng annotations in selenium, including how to prioritize, group and execute test cases, and the advantages of testng over junit. it also explains the sequence and purpose of different annotations. additionally, it demonstrates how to write a test case using testng, including project setup, configuring build path, creating testng class file, and coding the program.', 'duration': 376.159, 'highlights': ['Annotations in TestNG help in prioritizing, grouping, and executing test cases, providing easy control over test methods and the ability to generate detailed log reports.', 'Parallel testing in TestNG allows simultaneous testing of test cases in various browsers, such as Google Chrome, Mozilla Firefox, Edge, Safari, Opera, and more, by specifying the driver and path of the particular drivers.', 'The importance and sequence of different TestNG annotations, including @BeforeSuite, @BeforeTest, @BeforeClass, @BeforeMethod, @Test, @AfterMethod, @AfterClass, @AfterTest, and @AfterSuite, are explained in detail, highlighting their individual purposes and execution flow.', 'The process of writing a test case using TestNG involves creating a new TestNG project, configuring the build path, adding TestNG library, creating a TestNG class file, coding the program, and running it on a TestNG suite or as a TestNG test.', 'A demonstration of creating a TestNG project, configuring the build path by adding TestNG library, specifying the base URL and driver path, creating a driver object, and using the @Test annotation to verify the home page title is provided.']}, {'end': 15391.251, 'start': 14780.541, 'title': 'Using testng annotations in selenium', 'summary': 'Discusses the use of testng annotations in selenium, including launching the chrome browser, setting system properties, creating a new object of the chrome driver, matching actual and expected titles, and utilizing assert equals, with a demonstration of the execution flow of annotations.', 'duration': 610.71, 'highlights': ['The chapter explains the process of using TestNG annotations in Selenium, such as launching the Chrome browser, setting system properties, and creating a new object of the Chrome driver to perform testing operations. It also emphasizes matching actual and expected titles and utilizing assert equals to verify the test results.', "The demonstration includes the execution flow of annotations, showcasing how before test, before class, before method, test, after method, after class, after test, and after suit are executed in a specific sequence, thus providing a comprehensive understanding of the annotations' functionality.", 'The chapter also illustrates the grouping of examples using different annotations, offering a clear and organized approach to executing test cases and showcasing the versatility of TestNG annotations in Selenium testing.']}], 'duration': 1403.478, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw13987773.jpg', 'highlights': ['TestNG features: detailed reports, grouping, prioritization, parameterization, sequencing; efficient bug identification, time-saving', 'Parallel testing in TestNG allows simultaneous testing of test cases in various browsers', 'Annotations in TestNG help in prioritizing, grouping, and executing test cases, providing easy control over test methods', 'The process of writing a test case using TestNG involves creating a new TestNG project, configuring the build path, adding TestNG library, creating a TestNG class file, coding the program, and running it on a TestNG suite or as a TestNG test', 'The chapter covers the implementation of test case failure and success rate, with one successful test case, one test case passed, and one failure', 'The chapter outlines the major differences between TestNG and WebDriver listeners, such as TestNG listeners generating reports, capturing screenshots of failed test cases, and performing events like on test failure, on test skipped, and on test success', 'The chapter explains the process of using TestNG annotations in Selenium, such as launching the Chrome browser, setting system properties, and creating a new object of the Chrome driver to perform testing operations', 'The demonstration includes the execution flow of annotations, showcasing how before test, before class, before method, test, after method, after class, after test, and after suit are executed in a specific sequence', 'The chapter also illustrates the grouping of examples using different annotations, offering a clear and organized approach to executing test cases and showcasing the versatility of TestNG annotations in Selenium testing', 'Performing actions such as scrolling down the web page and pausing after clicking the search button', 'Specifying hash before the value of the element and sending keys to the particular location in the test automation engineer masters program', 'Inspecting and copying the class name of the search button for use in the project']}, {'end': 17874.649, 'segs': [{'end': 15454.148, 'src': 'embed', 'start': 15412.33, 'weight': 0, 'content': [{'end': 15421.678, 'text': 'So what I have done I have written here at before test and the parameters is also one of the annotations describes how to pass the parameters to a test method.', 'start': 15412.33, 'duration': 9.348}, {'end': 15424.961, 'text': 'So in the test I want to specify the browser.', 'start': 15422.139, 'duration': 2.822}, {'end': 15427.223, 'text': "So that is the reason I'm using actors parameters.", 'start': 15424.981, 'duration': 2.242}, {'end': 15431.647, 'text': 'So now I am setting up a method called string browser and that throws exception.', 'start': 15427.984, 'duration': 3.663}, {'end': 15435.19, 'text': 'So first I want to set up Firefox browser.', 'start': 15432.167, 'duration': 3.023}, {'end': 15442.439, 'text': "So that's the reason I'm giving if browser equals to ignore case of Firefox set the system properties of the Firefox driver.", 'start': 15435.754, 'duration': 6.685}, {'end': 15443.56, 'text': 'So this is how I do that.', 'start': 15442.459, 'duration': 1.101}, {'end': 15450.845, 'text': "I specify the path and I'll create a instance of a Firefox browser and next I'll check it for the Chrome driver.", 'start': 15444.18, 'duration': 6.665}, {'end': 15454.148, 'text': 'That is I want to launch the Google Chrome with the help of Chrome driver.', 'start': 15451.326, 'duration': 2.822}], 'summary': 'Setting up test parameters for firefox and chrome browsers.', 'duration': 41.818, 'max_score': 15412.33, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw15412330.jpg'}, {'end': 15866.02, 'src': 'embed', 'start': 15831.925, 'weight': 1, 'content': [{'end': 15837.867, 'text': 'which basically helps in building a composite action with the help of selenium web driver,', 'start': 15831.925, 'duration': 5.942}, {'end': 15843.568, 'text': 'where the web driver is only used to identify the presence of the web elements on the web page.', 'start': 15837.867, 'duration': 5.701}, {'end': 15851.086, 'text': 'Selenium provides API to automate the keyboard events, mouse events, drag-and-drop feature and so on,', 'start': 15844.275, 'duration': 6.811}, {'end': 15855.554, 'text': 'and this can be achieved using the action interface and the action class.', 'start': 15851.086, 'duration': 4.468}, {'end': 15866.02, 'text': 'The action interface is only used to represent a single user interaction that is to perform the series of actions termed by this actions class.', 'start': 15856.215, 'duration': 9.805}], 'summary': 'Selenium web driver automates user interactions for web elements.', 'duration': 34.095, 'max_score': 15831.925, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw15831925.jpg'}, {'end': 15933.204, 'src': 'embed', 'start': 15906.79, 'weight': 3, 'content': [{'end': 15910.532, 'text': 'Okay, so this is why we need the actions class in selenium.', 'start': 15906.79, 'duration': 3.742}, {'end': 15915.555, 'text': "Now, let's take a look at the different methods that are available in this actions class.", 'start': 15910.832, 'duration': 4.723}, {'end': 15926.16, 'text': 'Like I mentioned earlier, this actions class control the mouse and the keyboard functions like the click action, click and hold action, double click,', 'start': 15916.255, 'duration': 9.905}, {'end': 15930.743, 'text': 'action double tap, action key down, key up and so on.', 'start': 15926.16, 'duration': 4.583}, {'end': 15933.204, 'text': "So let's learn about them in detail.", 'start': 15931.223, 'duration': 1.981}], 'summary': 'The selenium actions class controls mouse and keyboard functions, offering various methods such as click, double click, and key press.', 'duration': 26.414, 'max_score': 15906.79, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw15906790.jpg'}, {'end': 16041.279, 'src': 'embed', 'start': 16012.045, 'weight': 4, 'content': [{'end': 16015.228, 'text': 'this context click performs a context click.', 'start': 16012.045, 'duration': 3.183}, {'end': 16018.27, 'text': 'that is a right click on a web element.', 'start': 16015.228, 'duration': 3.042}, {'end': 16023.355, 'text': 'click and hold it clicks at the present Mouse location without releasing it.', 'start': 16018.27, 'duration': 5.085}, {'end': 16031.791, 'text': 'Drag-and-drop I think you guys might have wondered how to drag and drop a particular element on the webpage using selenium.', 'start': 16024.105, 'duration': 7.686}, {'end': 16037.636, 'text': 'So this drag-and-drop feature can be achieved in selenium by using this actions class.', 'start': 16032.292, 'duration': 5.344}, {'end': 16041.279, 'text': "So let's see what this drag-and-drop is all about.", 'start': 16038.176, 'duration': 3.103}], 'summary': 'Selenium actions class enables drag-and-drop feature on web elements.', 'duration': 29.234, 'max_score': 16012.045, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw16012045.jpg'}, {'end': 16162.996, 'src': 'embed', 'start': 16134.376, 'weight': 5, 'content': [{'end': 16143.762, 'text': 'but selenium has provided an actions class to handle this kind of scenarios, so we can overcome this using the drag-and-drop method.', 'start': 16134.376, 'duration': 9.386}, {'end': 16147.662, 'text': 'to execute this drag-and-drop feature in selenium.', 'start': 16144.699, 'duration': 2.963}, {'end': 16154.869, 'text': 'We require two attributes that does namely the source locator and the target locator the syntax goes something like this.', 'start': 16147.782, 'duration': 7.087}, {'end': 16162.996, 'text': 'It says action dot drag and drop specify the source locator and the target locator and build and perform.', 'start': 16155.549, 'duration': 7.447}], 'summary': 'Selenium provides an actions class for drag-and-drop feature with source and target locators.', 'duration': 28.62, 'max_score': 16134.376, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw16134376.jpg'}, {'end': 17114.689, 'src': 'embed', 'start': 17088.01, 'weight': 2, 'content': [{'end': 17095.155, 'text': 'Time plays a major role while testing and we need to make sure that we complete the desired task within the specific time.', 'start': 17088.01, 'duration': 7.145}, {'end': 17101.48, 'text': 'a robot class is used to generate native system input events for the purpose of test automation,', 'start': 17095.155, 'duration': 6.325}, {'end': 17107.043, 'text': 'self-running demos and other applications where the control of Mouse and keyboard is needed.', 'start': 17101.48, 'duration': 5.563}, {'end': 17114.689, 'text': 'The primary purpose of this robot class is to facilitate the automation testing for the Java platform implementations.', 'start': 17107.544, 'duration': 7.145}], 'summary': 'Time is crucial in testing, robot class facilitates java automation.', 'duration': 26.679, 'max_score': 17088.01, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw17088010.jpg'}, {'end': 17284.52, 'src': 'embed', 'start': 17260.68, 'weight': 6, 'content': [{'end': 17269.667, 'text': 'Okay, so these are the methods that actually control the mouse and the keyboard functions to understand how to implement this robot class in selenium.', 'start': 17260.68, 'duration': 8.987}, {'end': 17272.63, 'text': "Let's take a look at the implementation of this robot class.", 'start': 17269.728, 'duration': 2.902}, {'end': 17280.877, 'text': 'So to do that we require the latest version of Java installed in our system and also an IDE where we can perform all the actions.', 'start': 17273.671, 'duration': 7.206}, {'end': 17284.52, 'text': "So let's check if Java is installed in our system.", 'start': 17281.457, 'duration': 3.063}], 'summary': 'Methods control mouse & keyboard in selenium. requires java & ide for implementation.', 'duration': 23.84, 'max_score': 17260.68, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw17260680.jpg'}, {'end': 17669.428, 'src': 'embed', 'start': 17640.916, 'weight': 7, 'content': [{'end': 17646.899, 'text': 'Okay, so do add the thread.sleep command so that you can actually pause the execution for a few seconds,', 'start': 17640.916, 'duration': 5.983}, {'end': 17649.72, 'text': "and it will be useful when you're executing the program.", 'start': 17646.899, 'duration': 2.821}, {'end': 17655.684, 'text': 'thread.sleep. Pause the execution for 4 seconds here as well.', 'start': 17649.72, 'duration': 5.964}, {'end': 17660.106, 'text': "Now in order to make sure that you don't have errors while executing the program.", 'start': 17656.324, 'duration': 3.782}, {'end': 17662.467, 'text': "I'm going to add this system.println command.", 'start': 17660.206, 'duration': 2.261}, {'end': 17669.428, 'text': "I'm going to print key here, okay.", 'start': 17666.886, 'duration': 2.542}], 'summary': 'Use thread.sleep to pause execution for 4 seconds and ensure error-free program execution', 'duration': 28.512, 'max_score': 17640.916, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw17640916.jpg'}], 'start': 15392.662, 'title': 'Selenium automation techniques', 'summary': 'Covers various selenium automation techniques including cross browser testing with testng, action class methods, web automation, and usage of robot class, highlighting the implementation, methods, and usage scenarios in test automation.', 'chapters': [{'end': 15745.454, 'start': 15392.662, 'title': 'Cross browser testing with testng', 'summary': 'Explains a cross browser testing script using testng, running the same test cases on different browsers, specifying browser parameters, setting up firefox, chrome, and edge browsers, executing test cases, and running the test on three different browsers with testng xml file.', 'duration': 352.792, 'highlights': ['The script sets up Firefox, Chrome, and Edge browsers for cross browser testing, specifying parameters and system properties, and executing test cases on all three browsers.', 'The TestNG XML file is configured to run the test on three browsers, specifying the class path, test names, parameter values, and package names for each browser.', 'The cross browser script is demonstrated to perform actions on Google Chrome, Firefox, and Edge browsers, including navigating, logging in, entering credentials, and performing search actions.', 'The chapter emphasizes the usage of annotations, such as @BeforeTest and @Parameters, for setting up browser parameters and executing test cases on different browsers, and encourages further learning through YouTube playlist videos.']}, {'end': 16134.376, 'start': 15745.494, 'title': 'Selenium: action class & methods', 'summary': 'Covers the importance of the actions class in selenium, its methods such as send keys, key down, key up, mouse events like click, double click, context click, and drag-and-drop, with detailed explanations and use cases, emphasizing the relevance and implementation in selenium automation.', 'duration': 388.882, 'highlights': ['The actions class in Selenium is based on the builder design pattern, providing API for automating keyboard events, mouse events, drag-and-drop feature, and more, using the action interface and action class.', 'The actions class is crucial in Selenium for handling actions like keyboard, mouse, drop-down, and drag-and-drop, focusing on user-facing API for emulating complex user gestures.', 'The methods of the actions class in Selenium include send keys, key down, key up for keyboard interactions, and mouse events like click, double click, context click, click and hold, drag-and-drop, and more, each with specific use cases and functionalities.', "The drag-and-drop method in Selenium's actions class enables the click and hold at the source location, moving to the target element's location before releasing the mouse, allowing automation of drag-and-drop operations.", "The move to element method in Selenium's actions class shifts the mouse to the center of the specified element, providing precise and controlled mouse movement for automation.", "The release method in Selenium's actions class facilitates the automation of releasing the left mouse button at the current mouse location, enabling seamless simulation of user interactions in automated testing scenarios."]}, {'end': 16651.944, 'start': 16134.376, 'title': 'Selenium actions class demo', 'summary': 'Covers the drag-and-drop method, context click method, and a demo on handling the actions class in selenium, including setting up the browser driver, maximizing the screen, using implicit wait, thread sleep command, and performing various actions on the webpage.', 'duration': 517.568, 'highlights': ['The chapter covers the drag-and-drop method and context click method in the actions class, along with a demo on handling the actions class in Selenium.', "Setting up the browser driver and maximizing the screen using commands like 'driver.manage().window().maximize()' and 'System.setProperty()' is crucial for Selenium automation.", "Using explicit wait commands like 'Thread.sleep()' and 'implicit wait' helps in managing the flow of execution, such as waiting for the page to load and pausing the execution for a specified time.", 'Performing actions on web elements using the actions class, such as moving the mouse to a specific element, finding elements by ID or CSS selector, and clicking on elements, is demonstrated in the demo.', 'The demo showcases the usage of the actions class to interact with web elements, including moving to an element, finding elements by ID or CSS selector, and clicking on elements, with a detailed explanation of each step.']}, {'end': 16994.391, 'start': 16652.424, 'title': 'Selenium web automation', 'summary': 'Covers the usage of selenium for web automation, including performing actions like sending keys, key down, key up, and drag-and-drop, and explains the process in detail while providing code examples and usage scenarios.', 'duration': 341.967, 'highlights': ['The drag-and-drop feature in Selenium can only be used within the current web page and cannot be used to drag files from the folder and drop them on the webpage.', 'The process of performing drag-and-drop in Selenium involves switching to the frame, finding the source and target elements using their IDs, creating an object of the Actions class, and using the drag-and-drop method to perform the action.', 'The chapter explains the usage of actions like sending keys, key down, key up, and drag-and-drop in Selenium, providing practical examples and code snippets for clear understanding.']}, {'end': 17874.649, 'start': 16994.571, 'title': 'Using robot class in selenium', 'summary': 'Explains the usage of the robot class in selenium, highlighting its functions, methods, implementation in selenium, and limitations, emphasizing the control it provides over mouse and keyboard functions as well as the significance of time in test automation, with a demonstration of its usage in automating actions on the edureka website.', 'duration': 880.078, 'highlights': ['The Robot class is used to generate native system input events for test automation, self-running demos, and other applications, providing control over mouse and keyboard devices, and handling pop-ups during execution, contributing to easier automation processes.', 'The chapter provides an overview of the different methods used in the Robot class, such as key press, key release, mouse press, mouse release, and mouse move, demonstrating their functionalities and usage in controlling keyboard and mouse functions for automation.', 'The implementation of the Robot class in Selenium is explained, highlighting the requirement of Java installation, the use of Eclipse IDE, the addition of Selenium jar files, and the demonstration of automating actions on the Edureka website, showcasing the control of mouse and keyboard functions in Selenium automation.', 'The limitations of the Robot class in Selenium are discussed, including its restriction to the current window, difficulty in switching among different screens or windows, dependence on screen resolution for methods like mouse move, and increased script failure when running tests in a virtual machine, emphasizing the challenges and constraints of using the Robot class in Selenium.']}], 'duration': 2481.987, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw15392662.jpg', 'highlights': ['The script sets up Firefox, Chrome, and Edge browsers for cross browser testing, specifying parameters and system properties, and executing test cases on all three browsers.', 'The actions class in Selenium is based on the builder design pattern, providing API for automating keyboard events, mouse events, drag-and-drop feature, and more, using the action interface and action class.', 'The Robot class is used to generate native system input events for test automation, self-running demos, and other applications, providing control over mouse and keyboard devices, and handling pop-ups during execution, contributing to easier automation processes.', 'The methods of the actions class in Selenium include send keys, key down, key up for keyboard interactions, and mouse events like click, double click, context click, click and hold, drag-and-drop, and more, each with specific use cases and functionalities.', 'The chapter covers the drag-and-drop method and context click method in the actions class, along with a demo on handling the actions class in Selenium.', 'The process of performing drag-and-drop in Selenium involves switching to the frame, finding the source and target elements using their IDs, creating an object of the Actions class, and using the drag-and-drop method to perform the action.', 'The implementation of the Robot class in Selenium is explained, highlighting the requirement of Java installation, the use of Eclipse IDE, the addition of Selenium jar files, and the demonstration of automating actions on the Edureka website, showcasing the control of mouse and keyboard functions in Selenium automation.', "Using explicit wait commands like 'Thread.sleep()' and 'implicit wait' helps in managing the flow of execution, such as waiting for the page to load and pausing the execution for a specified time.", 'The chapter emphasizes the usage of annotations, such as @BeforeTest and @Parameters, for setting up browser parameters and executing test cases on different browsers, and encourages further learning through YouTube playlist videos.']}, {'end': 19283.502, 'segs': [{'end': 17950.83, 'src': 'embed', 'start': 17922.983, 'weight': 2, 'content': [{'end': 17929.749, 'text': 'QTP is an acronym for quick test professional, which is now called unified functional testing, UFT.', 'start': 17922.983, 'duration': 6.766}, {'end': 17931.37, 'text': "Let's see how this happened.", 'start': 17930.249, 'duration': 1.121}, {'end': 17938.161, 'text': 'QTP was originally returned by Mercury interactive and they called it quick test professional,', 'start': 17931.937, 'duration': 6.224}, {'end': 17943.785, 'text': 'and this software was later acquired by the Hewlett Packard HP in the year 2006,', 'start': 17938.161, 'duration': 5.624}, {'end': 17950.83, 'text': 'and later the software was combined with the HP service test and it was integrated to a single software package,', 'start': 17943.785, 'duration': 7.045}], 'summary': 'Qtp, now uft, acquired by hp in 2006 and integrated with hp service test.', 'duration': 27.847, 'max_score': 17922.983, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw17922983.jpg'}, {'end': 18152.368, 'src': 'embed', 'start': 18123.797, 'weight': 1, 'content': [{'end': 18128.139, 'text': 'Selenium is an automation tool used to test web applications.', 'start': 18123.797, 'duration': 4.342}, {'end': 18134.021, 'text': 'the growth of software testing increase the demand in the field of selenium, as it is an open source,', 'start': 18128.139, 'duration': 5.882}, {'end': 18137.502, 'text': 'portable framework that helps in automating web applications.', 'start': 18134.021, 'duration': 3.481}, {'end': 18147.626, 'text': 'This tool is run across different browsers, like Chrome, Safari Opera, Firefox Explorer and so on, and it also supports cross browsing,', 'start': 18138.062, 'duration': 9.564}, {'end': 18152.368, 'text': 'which helps in executing the process across multiple platforms simultaneously.', 'start': 18147.626, 'duration': 4.742}], 'summary': 'Selenium, an open source automation tool, meets growing demand for web application testing across multiple browsers and platforms.', 'duration': 28.571, 'max_score': 18123.797, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw18123797.jpg'}, {'end': 18256.423, 'src': 'embed', 'start': 18222.187, 'weight': 7, 'content': [{'end': 18225.308, 'text': 'So these are all the advantages of selenium over QTP.', 'start': 18222.187, 'duration': 3.121}, {'end': 18229.211, 'text': "Now, let's take a look at the advantages of QTP over selenium.", 'start': 18225.669, 'duration': 3.542}, {'end': 18233.618, 'text': 'QTP can test web mobile and desktop application.', 'start': 18229.853, 'duration': 3.765}, {'end': 18236.442, 'text': 'Whereas selenium tests only web applications.', 'start': 18233.718, 'duration': 2.724}, {'end': 18243.891, 'text': 'It has its own inbuilt object repository where all the information regarding the test cases are stored.', 'start': 18237.022, 'duration': 6.869}, {'end': 18248.077, 'text': 'the rate of automation in QTP is fast compared to that of selenium.', 'start': 18243.891, 'duration': 4.186}, {'end': 18256.423, 'text': 'QTP can handle controls within the browser like accessing the favorite bar access bar back and forward buttons Etc.', 'start': 18248.641, 'duration': 7.782}], 'summary': 'Qtp offers advantages in testing web, mobile, and desktop applications, with faster automation compared to selenium.', 'duration': 34.236, 'max_score': 18222.187, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw18222187.jpg'}, {'end': 18400.325, 'src': 'embed', 'start': 18306.329, 'weight': 0, 'content': [{'end': 18310.353, 'text': 'will compare them based on their environment on which they can work on.', 'start': 18306.329, 'duration': 4.024}, {'end': 18313.196, 'text': "So let's start comparing them based on their license.", 'start': 18310.753, 'duration': 2.443}, {'end': 18320.499, 'text': 'Selenium as you know is an open source tool and the user does not have to pay for any of the versions of this tool.', 'start': 18313.917, 'duration': 6.582}, {'end': 18326.261, 'text': 'Whereas QTP is licensed and the user has to pay to get this software on his system.', 'start': 18320.819, 'duration': 5.442}, {'end': 18329.162, 'text': 'So this is about the license of these tools.', 'start': 18326.761, 'duration': 2.401}, {'end': 18331.463, 'text': "Now, let's talk about their flexibility.", 'start': 18329.542, 'duration': 1.921}, {'end': 18340.69, 'text': 'Selenium is highly flexible, because the test scripts can be run across different platforms like Chrome, Firefox, Opera and so on,', 'start': 18332.043, 'duration': 8.647}, {'end': 18343.032, 'text': 'and it can test only web applications.', 'start': 18340.69, 'duration': 2.342}, {'end': 18349.978, 'text': 'Whereas QTP is not very flexible when it comes to executing the test cases across different platforms.', 'start': 18343.433, 'duration': 6.545}, {'end': 18357.865, 'text': 'It mainly supports Windows and executes the tests there and it can test web mobile and desktop applications.', 'start': 18350.599, 'duration': 7.266}, {'end': 18360.027, 'text': 'So this is about their flexibility.', 'start': 18358.325, 'duration': 1.702}, {'end': 18364.708, 'text': "Next it's their programming language required to run the test scripts.", 'start': 18360.607, 'duration': 4.101}, {'end': 18372.831, 'text': 'test scripts in selenium can be written using different programming languages like Java, Python, C, sharp, Ruby and so on,', 'start': 18364.708, 'duration': 8.123}, {'end': 18381.973, 'text': 'whereas QTP test scripts are written using VB scripts and it cannot process the system using Java or any other simple programming language.', 'start': 18372.831, 'duration': 9.142}, {'end': 18384.894, 'text': 'So this is about the programming language required.', 'start': 18382.513, 'duration': 2.381}, {'end': 18387.575, 'text': "Now, let's talk about their ID basis.", 'start': 18385.354, 'duration': 2.221}, {'end': 18395.742, 'text': 'Selenium test scripts can be integrated to run across IDs like Eclipse net beans, dotnet and so on,', 'start': 18388.175, 'duration': 7.567}, {'end': 18400.325, 'text': 'whereas QTP test scripts worked only on the QTP developed ID.', 'start': 18395.742, 'duration': 4.583}], 'summary': 'Selenium is open-source, flexible, supports multiple platforms, and various programming languages, while qtp is licensed, less flexible, and supports limited platforms and programming languages.', 'duration': 93.996, 'max_score': 18306.329, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw18306329.jpg'}, {'end': 18542.618, 'src': 'embed', 'start': 18517.904, 'weight': 4, 'content': [{'end': 18523.927, 'text': 'Programmable automation can be used to change the sequence of any operation based on the user requirements.', 'start': 18517.904, 'duration': 6.023}, {'end': 18529.531, 'text': 'Whereas flexible automation is a hybrid of fixed and programmable automation.', 'start': 18524.528, 'duration': 5.003}, {'end': 18536.895, 'text': "Now, let's talk about the cost of these tools selenium is an open source tool used to automate web applications.", 'start': 18529.971, 'duration': 6.924}, {'end': 18542.618, 'text': 'Whereas RPA has a set of tools like UiPath automation anywhere and blue prism.', 'start': 18537.255, 'duration': 5.363}], 'summary': 'Programmable and flexible automation, cost comparison of tools: selenium (open source) vs rpa (uipath, automation anywhere, blue prism)', 'duration': 24.714, 'max_score': 18517.904, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw18517904.jpg'}, {'end': 18634.416, 'src': 'embed', 'start': 18611.406, 'weight': 6, 'content': [{'end': 18621.851, 'text': 'No mobile or desktop applications can be tested using Selenium whereas RPA can run on any platform be it web, mobile or desktop applications.', 'start': 18611.406, 'duration': 10.445}, {'end': 18627.613, 'text': "Now let's talk about the major component used by these tools to automate a task.", 'start': 18622.791, 'duration': 4.822}, {'end': 18631.295, 'text': 'Selenium uses web drivers to automate any task.', 'start': 18628.233, 'duration': 3.062}, {'end': 18634.416, 'text': 'This is a simplified view of Selenium web driver.', 'start': 18631.875, 'duration': 2.541}], 'summary': 'Selenium uses web drivers to automate tasks, while rpa can run on any platform.', 'duration': 23.01, 'max_score': 18611.406, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw18611406.jpg'}, {'end': 18917.835, 'src': 'embed', 'start': 18890.313, 'weight': 5, 'content': [{'end': 18897.88, 'text': 'So what exactly is Selenium IDE? Selenium IDE, so IDE stands for Integrated Development Environment, a tool to develop test cases.', 'start': 18890.313, 'duration': 7.567}, {'end': 18901.283, 'text': "So it's a tool to develop automated test cases rather I would say.", 'start': 18898.1, 'duration': 3.183}, {'end': 18903.765, 'text': 'It is easy to use Firefox plugin.', 'start': 18901.763, 'duration': 2.002}, {'end': 18905.426, 'text': 'So it comes as a Firefox plugin.', 'start': 18903.925, 'duration': 1.501}, {'end': 18908.549, 'text': 'So this also gives us an idea that there is a limitation.', 'start': 18905.707, 'duration': 2.842}, {'end': 18912.453, 'text': 'It can only work on Firefox and you cannot perform cross browser testing.', 'start': 18908.709, 'duration': 3.744}, {'end': 18917.835, 'text': 'third one is you can create and edit test cases and test suites so you can create a test case.', 'start': 18912.933, 'duration': 4.902}], 'summary': 'Selenium ide is a firefox plugin for easy creation and editing of automated test cases.', 'duration': 27.522, 'max_score': 18890.313, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw18890313.jpg'}], 'start': 17880.026, 'title': 'A comparison of selenium, qtp, and rpa', 'summary': "Compares the history, features, and functionalities of qtp and selenium, including qtp's transition to uft, its use of vbscript, and its support for functional and regression testing. it discusses the history of selenium, its benefits over qtp, and compares selenium and qtp based on cost, flexibility, programming language support, id integration, repository functionality, and environment support. additionally, it compares selenium and rpa in terms of programming knowledge required, cost, life cycle, platform dependency, components used, level of automation, and use cases, and discusses selenium ide as an automation tool with its advantages, limitations, features, and usage.", 'chapters': [{'end': 18039.626, 'start': 17880.026, 'title': 'Comparison of selenium and qtp', 'summary': "Compares the history, features, and functionalities of qtp and selenium, highlighting qtp's transition to uft, its use of vbscript, and its support for functional and regression testing, alongside selenium's popularity and its use for automation testing.", 'duration': 159.6, 'highlights': ['QTP was originally developed by Mercury Interactive and later acquired by Hewlett Packard HP, which then integrated it into a single software package with HP Service Test, and this version was available till 2016, until the entire division was sold to Micro Focus.', 'QTP is designed for UI-based test case automation but can also automate non-UI test cases such as file operation and database testing. It utilizes VBScript for running test cases and provides functional and regression test automation.', 'Selenium is a popular automation testing tool used for testing various software applications and environments, and it supports multiple programming languages, including Java, C#, Python, and Ruby, for writing test scripts.', 'Selenium is known for its features like cross-browser testing, parallel test execution, and support for multiple operating systems, making it a widely accepted tool in the software testing market.', "Selenium's flexibility and support for multiple programming languages make it a preferred choice for automation testing, and it is widely used for web application testing and supports various frameworks like TestNG and JUnit."]}, {'end': 18269.585, 'start': 18040.086, 'title': 'History and benefits of selenium', 'summary': 'Discusses the history of selenium, including its development as an automation tool by jason huggins and the subsequent evolution into selenium webdriver, as well as its benefits over qtp such as supporting multiple programming languages and browsers, and its open-source nature.', 'duration': 229.499, 'highlights': ["The name 'selenium' was introduced by Jason Huggins in 2004 and further developed into selenium RC with the help of Paul Hammond. Later, in 2005, Dan fabulous and Nelson sprawl transformed selenium RC into selenium webdriver, which was merged with another project in 2009 to form selenium 2.0.", 'Selenium is an open source and portable framework used for automating web applications, supporting various browsers like Chrome, Safari, Opera, Firefox, and Explorer as well as cross browsing, enabling execution across multiple platforms simultaneously.', 'The test scripts in selenium can be written using different programming languages like Java, Python, Ruby, C#, but Java is the most commonly used due to its user-friendly behavior.', 'Selenium has advantages over QTP such as being open-source, supporting multiple programming languages, running across different browsers, and providing cross browsing functionality, while QTP has advantages in testing web, mobile, and desktop applications, offering faster automation, and providing functional user support and automatic test report generation.']}, {'end': 18494.789, 'start': 18270.065, 'title': 'Comparison of selenium and qtp', 'summary': 'Compares selenium and qtp based on cost, flexibility, programming language support, id integration, repository functionality, and environment support. selenium is open source, highly flexible, supports multiple programming languages, and can be integrated with various ids, while qtp is licensed, less flexible, supports vb scripts, and has limited id integration. selenium does not have an inbuilt repository, while qtp does. selenium supports all additional plugins, while qtp supports different environments like sap and oracle, and does not support additional plugins.', 'duration': 224.724, 'highlights': ['Selenium is open source, while QTP is licensed.', 'Selenium is highly flexible, supporting multiple platforms and web applications, while QTP is less flexible, mainly supporting Windows and web, mobile, and desktop applications.', 'Selenium supports multiple programming languages, while QTP uses VB scripts.', 'Selenium can be integrated with various IDs, while QTP works only on the QTP-developed ID.', 'QTP has an inbuilt object repository, while Selenium does not have an inbuilt repository.', 'Selenium supports all additional plugins, while QTP supports different environments like SAP and Oracle and does not support additional plugins.']}, {'end': 18787.836, 'start': 18494.789, 'title': 'Selenium vs rpa comparison', 'summary': 'Compares the automation tools selenium and rpa, highlighting their differences in terms of programming knowledge required, cost, life cycle, platform dependency, components used, level of automation, and use cases, emphasizing the differences in cost, platform dependency, and level of automation.', 'duration': 293.047, 'highlights': ['Selenium is an open source tool for web application automation, while RPA tools like UiPath, Automation Anywhere, and Blue Prism have various licensing costs.', 'RPA can run on any platform (web, mobile, desktop), while Selenium can only test web applications, highlighting the significant difference in platform dependency.', 'RPA automates clerical processes like data entry and calculations, whereas Selenium automates functional regression and performance testing, indicating a distinct contrast in the level of automation.', 'Selenium works on the front end of processes, testing only the current web page, while RPA works on the back end, dealing with time-consuming processes and storing data in databases, emphasizing the difference in use cases.']}, {'end': 19283.502, 'start': 18788.836, 'title': 'Understanding selenium ide', 'summary': 'Discusses selenium ide as an automation tool, outlining its advantages, limitations, features, and usage for creating test cases and test suites, emphasizing its ability to record and playback test actions with a graphical user interface in a firefox plugin.', 'duration': 494.666, 'highlights': ['Selenium IDE is a Firefox plugin with a graphical user interface for creating and editing automated test cases, providing the capability to record and playback test actions, and convert test cases to different languages.', "The tool's features include a menu bar for file operations, edit options, recording, and playing; a toolbar for speed control, test execution, pause/resume, debugging, and recording actions; and a test case pane with tabular and source views, along with a section for log, reference, UI element, and ruler.", 'The limitations of Selenium IDE include its restriction to work only on Firefox and inability to perform cross-browser testing, making it essential to consider the suitability of the tool for specific testing requirements.']}], 'duration': 1403.476, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw17880026.jpg', 'highlights': ['Selenium supports multiple programming languages, making it a preferred choice for automation testing.', 'Selenium is known for its features like cross-browser testing, parallel test execution, and support for multiple operating systems.', 'QTP was originally developed by Mercury Interactive and later acquired by Hewlett Packard HP.', 'Selenium is open source, while QTP is licensed.', 'Selenium is an open source tool for web application automation, while RPA tools like UiPath, Automation Anywhere, and Blue Prism have various licensing costs.', 'Selenium IDE is a Firefox plugin with a graphical user interface for creating and editing automated test cases.', 'RPA can run on any platform (web, mobile, desktop), while Selenium can only test web applications.', 'Selenium has advantages over QTP such as being open-source, supporting multiple programming languages, and providing cross browsing functionality.', 'Selenium is highly flexible, supporting multiple platforms and web applications, while QTP is less flexible, mainly supporting Windows and web, mobile, and desktop applications.', 'Selenium can be integrated with various IDs, while QTP works only on the QTP-developed ID.']}, {'end': 22069.18, 'segs': [{'end': 19309.505, 'src': 'embed', 'start': 19283.862, 'weight': 3, 'content': [{'end': 19289.483, 'text': 'Then you have the reference tab over here, you can find the documentation of the command currently used.', 'start': 19283.862, 'duration': 5.621}, {'end': 19296.665, 'text': 'So whatever command is currently under process or currently being executed, you can find the documentation of that command over here.', 'start': 19289.663, 'duration': 7.002}, {'end': 19305.608, 'text': 'Then you have the UI element which allows you to certainly define most of the XPath statement and give page elements meaningful name.', 'start': 19296.985, 'duration': 8.623}, {'end': 19309.505, 'text': 'So, if you want to name your web element, so web elements.', 'start': 19306.283, 'duration': 3.222}], 'summary': 'The reference tab provides documentation for the current command; ui element enables defining xpath statements and naming web elements.', 'duration': 25.643, 'max_score': 19283.862, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw19283862.jpg'}, {'end': 19350.025, 'src': 'embed', 'start': 19326.137, 'weight': 4, 'content': [{'end': 19332.362, 'text': 'So these are called the attributes of an element and these attributes uniquely define an element on the screen.', 'start': 19326.137, 'duration': 6.225}, {'end': 19335.591, 'text': 'Then the last option, that is Rollup.', 'start': 19333.069, 'duration': 2.522}, {'end': 19341.177, 'text': 'So Rollup represents a sequence of step that can be reused throughout the test case.', 'start': 19336.192, 'duration': 4.985}, {'end': 19350.025, 'text': 'So if you have a particular series of actions that will be performed again and again during your test execution, then that goes under Rollup.', 'start': 19341.797, 'duration': 8.228}], 'summary': 'Attributes uniquely define elements on screen. rollup allows reusing sequences of steps.', 'duration': 23.888, 'max_score': 19326.137, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw19326137.jpg'}, {'end': 19425.29, 'src': 'embed', 'start': 19400.621, 'weight': 2, 'content': [{'end': 19409.344, 'text': 'So obviously the command is something that will be fired and hence Selenese needs to perform that particular action or operation.', 'start': 19400.621, 'duration': 8.723}, {'end': 19412.645, 'text': 'Selenium commands are classified into three basic categories.', 'start': 19409.724, 'duration': 2.921}, {'end': 19416.926, 'text': 'One is the actions, one is the assessors and one is the assertion.', 'start': 19413.025, 'duration': 3.901}, {'end': 19418.447, 'text': 'so actions.', 'start': 19417.546, 'duration': 0.901}, {'end': 19425.29, 'text': 'they are nothing, but whatever you want to perform, like if you want to type in the task text, if you want to click on a button and so on.', 'start': 19418.447, 'duration': 6.843}], 'summary': 'Selenium commands are classified into three categories: actions, assessors, and assertions.', 'duration': 24.669, 'max_score': 19400.621, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw19400621.jpg'}, {'end': 19630.558, 'src': 'embed', 'start': 19604.15, 'weight': 5, 'content': [{'end': 19609.211, 'text': 'so assertions are used like checkpoints or verification points in automation.', 'start': 19604.15, 'duration': 5.061}, {'end': 19614.825, 'text': 'assertion verifies whether the state of the application confirms to the expected state.', 'start': 19609.211, 'duration': 5.614}, {'end': 19618.328, 'text': 'Like I can put an assertion on the state of an element.', 'start': 19615.105, 'duration': 3.223}, {'end': 19621.55, 'text': 'I can put assertion on the state of the application.', 'start': 19618.428, 'duration': 3.122}, {'end': 19627.796, 'text': 'I can put assertion on any kind of values being populated from the back end to the front end.', 'start': 19621.71, 'duration': 6.086}, {'end': 19630.558, 'text': 'So there are n number of assertions that can be used.', 'start': 19628.036, 'duration': 2.522}], 'summary': 'Assertions in automation verify application state and element values. there are various types of assertions.', 'duration': 26.408, 'max_score': 19604.15, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw19604150.jpg'}, {'end': 19900.787, 'src': 'embed', 'start': 19869.76, 'weight': 8, 'content': [{'end': 19871.741, 'text': 'And the third one is editing.', 'start': 19869.76, 'duration': 1.981}, {'end': 19878.664, 'text': 'So you can come back to Selenium IDE to edit the test that you have recorded.', 'start': 19872.522, 'duration': 6.142}, {'end': 19882.385, 'text': 'You can change a step, you can delete a step, you can add a step.', 'start': 19879.304, 'duration': 3.081}, {'end': 19888.041, 'text': 'you can change the locator values or you can say the target element locator.', 'start': 19882.385, 'duration': 5.656}, {'end': 19894.724, 'text': 'you can change whatever you want and you can just save it to rerun with the updated values.', 'start': 19888.041, 'duration': 6.683}, {'end': 19900.787, 'text': 'so you can insert a command, you can delete a command, you can edit any kind of.', 'start': 19894.724, 'duration': 6.063}], 'summary': 'Selenium ide allows editing recorded tests, enabling changes in steps and locator values for rerunning with updated values.', 'duration': 31.027, 'max_score': 19869.76, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw19869760.jpg'}, {'end': 20064.859, 'src': 'embed', 'start': 20036.681, 'weight': 7, 'content': [{'end': 20043.789, 'text': 'then recording all possible cases for automation is not possible, like upload screenshot, etc.', 'start': 20036.681, 'duration': 7.108}, {'end': 20050.435, 'text': 'so there are certain limitations, like you cannot capture a screenshot, then you cannot upload a file, you cannot download a file.', 'start': 20043.789, 'duration': 6.646}, {'end': 20053.419, 'text': 'so these are the limitations within which you need to work.', 'start': 20050.435, 'duration': 2.984}, {'end': 20059.305, 'text': 'if you select selenium, ide cannot handle dynamic part of the page or the web application.', 'start': 20053.419, 'duration': 5.886}, {'end': 20064.859, 'text': 'So Selenium IDE, it was a tool which was designed way back somewhere around the early 2000s.', 'start': 20059.815, 'duration': 5.044}], 'summary': 'Selenium ide has limitations in handling dynamic web elements, unable to capture/upload/download files or screenshots.', 'duration': 28.178, 'max_score': 20036.681, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw20036681.jpg'}, {'end': 20610.632, 'src': 'embed', 'start': 20583.343, 'weight': 1, 'content': [{'end': 20588.946, 'text': 'So in the file menu, what you have is you have option to export test case as.', 'start': 20583.343, 'duration': 5.603}, {'end': 20592.227, 'text': 'So I can export it into different Java formats.', 'start': 20589.566, 'duration': 2.661}, {'end': 20595.288, 'text': 'I can export it into Ruby, Perl, Python.', 'start': 20592.507, 'duration': 2.781}, {'end': 20600.711, 'text': 'Okay, so all these languages, they are supported by Selenium.', 'start': 20595.789, 'duration': 4.922}, {'end': 20603.332, 'text': "So that's the reason you can see these options.", 'start': 20601.231, 'duration': 2.101}, {'end': 20610.632, 'text': 'like you have C hash, you have Java, Python 2, Ruby, and there are different formats within this as well.', 'start': 20603.332, 'duration': 7.3}], 'summary': 'The file menu allows exporting test cases into various programming languages supported by selenium, including java, ruby, perl, and python.', 'duration': 27.289, 'max_score': 20583.343, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw20583343.jpg'}, {'end': 20856.349, 'src': 'embed', 'start': 20830.011, 'weight': 0, 'content': [{'end': 20835.495, 'text': "Now you won't understand until you get to know what does Selenium Grid comprise of.", 'start': 20830.011, 'duration': 5.484}, {'end': 20842.12, 'text': 'So this line is saying it will let us test script on different machines at the same time.', 'start': 20835.955, 'duration': 6.165}, {'end': 20849.285, 'text': "And of course, if I'm saying at the same time, that means on different environments, I need to run test cases parallelly.", 'start': 20842.96, 'duration': 6.325}, {'end': 20856.349, 'text': 'Execution is possible on different machines with different browsers, same browser with different version as well.', 'start': 20850.185, 'duration': 6.164}], 'summary': 'Selenium grid allows testing scripts on multiple machines and environments simultaneously.', 'duration': 26.338, 'max_score': 20830.011, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw20830011.jpg'}, {'end': 21077.039, 'src': 'embed', 'start': 21047.183, 'weight': 6, 'content': [{'end': 21054.279, 'text': 'So in Selenium 1, we had remote control, right? Here we needed apaches and installation to run grid.', 'start': 21047.183, 'duration': 7.096}, {'end': 21066.609, 'text': 'Whereas here in Selenium 2, what I need to run grid is only Selenium server standalone jar, all right? And this can support RC commands.', 'start': 21055.04, 'duration': 11.569}, {'end': 21071.994, 'text': 'Selenium grid 2 can support both RC and WebDriver scripts.', 'start': 21067.57, 'duration': 4.424}, {'end': 21077.039, 'text': 'In Selenium Grid 1, you can automate one browser per remote control.', 'start': 21072.674, 'duration': 4.365}], 'summary': 'Selenium grid 1 required apache and installation for running grid, while selenium grid 2 only needs selenium server standalone jar and supports both rc and webdriver scripts.', 'duration': 29.856, 'max_score': 21047.183, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw21047183.jpg'}], 'start': 19283.862, 'title': 'Selenium ide, selenese commands, and selenium grid', 'summary': 'Discusses selenium ide features such as reference tab, ui element, web element attributes, and rollup option, selenese commands categories, differences, and importance, selenium ide functionalities, limitations, and export feature, and configuring selenium grid process, emphasizing simplicity and effectiveness.', 'chapters': [{'end': 19350.025, 'start': 19283.862, 'title': 'Selenium ide features', 'summary': 'Discusses the selenium ide features, including the reference tab for command documentation, ui element for defining xpath statements and naming web elements, attributes of web elements, and the rollup option for reusing sequences of steps in test cases.', 'duration': 66.163, 'highlights': ['The UI element allows you to define most of the XPath statement and give page elements meaningful names, which is essential for identifying web elements uniquely.', 'The reference tab provides documentation for the command currently under process or being executed, aiding in understanding the commands used.', 'Rollup represents a sequence of steps that can be reused throughout the test case, improving test case reusability and efficiency.', 'Web elements have attributes that uniquely define them on the screen, allowing Selenium to identify them uniquely.']}, {'end': 19868.78, 'start': 19351.121, 'title': 'Selenese commands and syntax', 'summary': 'Explains selenese commands, which are used to test web applications. it describes the categories of selenium commands - actions, assessors, and assertions, and details the differences between them, along with examples and their importance in test automation.', 'duration': 517.659, 'highlights': ['Selenese is the language used for writing Selenium commands, which are used to test web applications. Selenese commands are categorized into three types: actions, assessors, and assertions.', 'Selenese commands are classified into three basic categories: actions, assessors, and assertions. Actions are used to perform operations such as clicking on links or buttons, selecting options, and changing the state of the application.', 'Assertions are critical in testing as they compare expected and actual results to determine the success of test cases. They act as checkpoints or verification points in automation and have three modes: assert, verify, and wait for.', 'The Selenese syntax consists of commands and two parameters, including a locator for identifying UI elements within the page and a text pattern for verifying or asserting page content.']}, {'end': 20532.441, 'start': 19869.76, 'title': 'Selenium ide overview', 'summary': 'Discusses the functionalities of selenium ide, including editing, creating test suites, running test cases, and limitations, with a focus on its inability to handle big data and dynamic applications, as well as its inability to interact with databases and multiple windows.', 'duration': 662.681, 'highlights': ['The chapter covers editing functionality in Selenium IDE, including the ability to change, delete, or add test steps, as well as modify locator values, enabling users to save and rerun tests with updated values.', 'The chapter explains the process of creating test suites in Selenium IDE, which involves saving multiple test cases as a collection and triggering their execution one after another, streamlining the testing process.', 'The chapter details the limitations of Selenium IDE, highlighting its inability to handle big data, dynamic web applications, and database connections, as well as its constraints in capturing and interacting with screenshots, files, and multiple windows.']}, {'end': 21183.395, 'start': 20533.122, 'title': 'Selenium grid overview', 'summary': 'Covers the export feature of selenium ide, allowing users to export test cases into various programming languages. the chapter also delves into the significance of selenium grid, explaining its purpose of enabling parallel test execution on different machines and browsers, thereby saving time and effort.', 'duration': 650.273, 'highlights': ['The chapter covers the export feature of Selenium IDE, allowing users to export test cases into various programming languages, such as Java, Ruby, Perl, and Python, supported by Selenium.', 'The significance of Selenium Grid lies in enabling parallel test execution on different machines and browsers, facilitating the reduction of time for test suite completion and ensuring the seamless functioning of web applications across various platforms and browsers.', 'Selenium Grid allows for the execution of test scripts on different machines simultaneously, featuring a hub as the central point controlling multiple nodes, each representing a machine with different platforms and browsers, thus saving time and effort for test execution.', 'Selenium Grid 1 required Apache and installation, while Selenium Grid 2 only necessitates the Selenium server standalone jar, supporting both RC and WebDriver scripts and automating up to five browsers, marking a significant advancement from Selenium Grid 1.', 'The hub in Selenium Grid serves as the central point for loading test scripts, with the capability to launch only on a single machine and the execution of tests happening on one or more nodes in the grid, potentially across multiple machines with different platforms and browsers.']}, {'end': 22069.18, 'start': 21183.915, 'title': 'Configuring selenium grid', 'summary': 'Covers the process of configuring selenium grid, including setting up the hub and nodes, running commands to register nodes to the hub, and specifying roles for hub and node, with emphasis on the simplicity and effectiveness of the process.', 'duration': 885.265, 'highlights': ['The process of setting up the hub and nodes, running commands to register nodes to the hub, and specifying roles for hub and node.', 'The commands for starting the hub and node are demonstrated, emphasizing the simplicity of the process.', 'The importance of placing the Selenium server standalone file at the same location on all systems, including hub and nodes, and how to specify roles for hub and node during configuration.', 'Instructions for setting system properties and browser drivers on nodes to ensure proper execution of test scripts.', 'The significance of turning off firewall settings when creating a grid to avoid issues during configuration.']}], 'duration': 2785.318, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw19283862.jpg', 'highlights': ['Selenium Grid enables parallel test execution on different machines and browsers, reducing test suite completion time.', 'Selenium IDE export feature allows test cases to be exported into various programming languages, such as Java, Ruby, Perl, and Python.', 'Selenese commands are categorized into three types: actions, assessors, and assertions, each serving specific testing purposes.', 'The UI element in Selenium IDE allows defining XPath statements and providing meaningful names to page elements for unique identification.', 'Rollup in Selenium IDE represents a sequence of reusable steps, enhancing test case reusability and efficiency.', 'Assertions in Selenese compare expected and actual results, serving as checkpoints in automation with assert, verify, and wait for modes.', 'Selenium Grid 2 simplifies setup by only requiring the Selenium server standalone jar, supporting both RC and WebDriver scripts.', 'Selenium IDE limitations include handling big data, dynamic web applications, database connections, capturing screenshots, files, and multiple windows.', 'Selenium IDE editing functionality allows changing, deleting, or adding test steps, and modifying locator values for updated tests.', 'The reference tab in Selenium IDE provides documentation for the command being executed, aiding in understanding the commands used.']}, {'end': 24501.452, 'segs': [{'end': 22098.844, 'src': 'embed', 'start': 22069.5, 'weight': 1, 'content': [{'end': 22071.381, 'text': "That's very easy configuration.", 'start': 22069.5, 'duration': 1.881}, {'end': 22074.823, 'text': 'Okay, now running tests using grid.', 'start': 22071.401, 'duration': 3.422}, {'end': 22079.265, 'text': "So I'll just go through this and then we'll see what else is left here.", 'start': 22075.463, 'duration': 3.802}, {'end': 22089.23, 'text': "In Selenium RC, which you must all be knowing that it's deprecated, so I guess in future nobody would be using this line.", 'start': 22080.446, 'duration': 8.784}, {'end': 22093.472, 'text': 'In fact, in present also nobody would be using this line.', 'start': 22090.31, 'duration': 3.162}, {'end': 22098.844, 'text': 'Selenium selenium is equal to new default selenium and then this entire thing.', 'start': 22094.62, 'duration': 4.224}], 'summary': 'Configured selenium grid for testing, deprecated selenium rc not in use.', 'duration': 29.344, 'max_score': 22069.5, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw22069500.jpg'}, {'end': 23085.662, 'src': 'embed', 'start': 23058.496, 'weight': 3, 'content': [{'end': 23064.021, 'text': "So I won't go to the slideshow because that was the last slide, all right? Now I want you to understand this.", 'start': 23058.496, 'duration': 5.525}, {'end': 23066.243, 'text': 'This is just one script.', 'start': 23064.842, 'duration': 1.401}, {'end': 23075.13, 'text': "What if you want to run multiple test cases in parallel? Because that's the sense of having grid.", 'start': 23066.963, 'duration': 8.167}, {'end': 23079.896, 'text': "So you can't do that just by writing your Selenium WebDriver's code.", 'start': 23076.031, 'duration': 3.865}, {'end': 23082.459, 'text': "You need somebody else's help.", 'start': 23080.236, 'duration': 2.223}, {'end': 23085.662, 'text': 'And how do you run your test cases parallelly?', 'start': 23083.5, 'duration': 2.162}], 'summary': 'Running multiple test cases in parallel using selenium webdriver requires external assistance.', 'duration': 27.166, 'max_score': 23058.496, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw23058496.jpg'}, {'end': 23897.295, 'src': 'embed', 'start': 23866.615, 'weight': 0, 'content': [{'end': 23868.116, 'text': 'What is cross browser testing?', 'start': 23866.615, 'duration': 1.501}, {'end': 23877.186, 'text': 'Cross browser testing refers to testing of an application in multiple browsers like Internet Explorer, Chrome, Firefox, Safari,', 'start': 23868.743, 'duration': 8.443}, {'end': 23880.587, 'text': 'so that we can test our application effectively.', 'start': 23877.186, 'duration': 3.401}, {'end': 23886.789, 'text': 'cross browser testing is a very important concept in automation, because here the actual automation comes into the picture.', 'start': 23880.587, 'duration': 6.202}, {'end': 23889.03, 'text': 'So consider an example.', 'start': 23887.309, 'duration': 1.721}, {'end': 23897.295, 'text': 'suppose, say, if you have 20 test cases to execute manually, So for you it is not a big deal, because you can execute it within one or two days.', 'start': 23889.03, 'duration': 8.265}], 'summary': 'Cross browser testing ensures application compatibility across different browsers, vital in automation.', 'duration': 30.68, 'max_score': 23866.615, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw23866615.jpg'}, {'end': 24028.355, 'src': 'embed', 'start': 24002.802, 'weight': 2, 'content': [{'end': 24010.885, 'text': 'For example, Google Chrome uses blink, Firefox uses gecko and Internet Explorer uses edge HTML and chakra,', 'start': 24002.802, 'duration': 8.083}, {'end': 24017.228, 'text': 'because of which same website would be rendered completely differently by all these different browsers.', 'start': 24010.885, 'duration': 6.343}, {'end': 24022.913, 'text': "And that's exactly why you need a cross browser testing for the better experience.", 'start': 24017.95, 'duration': 4.963}, {'end': 24028.355, 'text': 'You need to do cross browser testing so that the customer will get the same UI of application.', 'start': 24023.053, 'duration': 5.302}], 'summary': 'Cross browser testing ensures consistent rendering across different browsers for a better customer experience.', 'duration': 25.553, 'max_score': 24002.802, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw24002802.jpg'}, {'end': 24119.874, 'src': 'embed', 'start': 24097.449, 'weight': 4, 'content': [{'end': 24105.695, 'text': 'If any in this type of testing it is not possible to cover many browsers and also the application might not be tested on major browser versions.', 'start': 24097.449, 'duration': 8.246}, {'end': 24112.308, 'text': 'and also performing cross browser check manually is costly and time-consuming as well.', 'start': 24106.463, 'duration': 5.845}, {'end': 24119.874, 'text': 'now, coming to automated method, cross browser testing is basically running the same set of test cases multiple times on different browsers.', 'start': 24112.308, 'duration': 7.566}], 'summary': 'Manual cross browser check is time-consuming; automated method runs same test cases on different browsers.', 'duration': 22.425, 'max_score': 24097.449, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw24097449.jpg'}], 'start': 22069.5, 'title': 'Cross-browser testing with selenium grid', 'summary': 'Covers configuring selenium grid for remote testing, setting up grid and desired capabilities, parallel testing with testng, and practical demonstration of cross-browser testing in selenium, emphasizing the use of remote web driver, setting up parallel testing with testng, and highlighting the benefits of cross-browser testing in ensuring ui consistency and the cost and time benefits of the automated approach using tools like selenium webdriver.', 'chapters': [{'end': 22263.572, 'start': 22069.5, 'title': 'Configuring selenium grid for remote testing', 'summary': 'Covers the process of configuring selenium grid for remote testing, emphasizing the use of remote web driver and desired capabilities to specify browser, operating system, and node for executing the test cases.', 'duration': 194.072, 'highlights': ['The process of configuring Selenium Grid for remote testing is explained, highlighting the shift from Selenium RC to using Selenium webdriver for running tests using grid.', "The importance of specifying commands from the hub to the node, including the need to specify the IP address of the node and the system's browser and operating system, is emphasized for remote testing.", 'The use of desired capabilities is highlighted, explaining how it allows setting specific capabilities and specifying the desired browser for remote web driver, portraying the shift from using specific browser drivers to the new remote web driver for invoking web drivers on remote systems.']}, {'end': 23031.769, 'start': 22263.612, 'title': 'Setting up grid and desired capabilities', 'summary': 'Covers setting up a grid, specifying ip address and capabilities, writing classes, setting up desired capabilities with chrome browser, handling errors, and running a script on a node, with emphasis on key points such as setting the node url and specifying the platform and browser name.', 'duration': 768.157, 'highlights': ['Setting up a grid involves specifying the IP address and capabilities, along with writing classes and setting up the desired capabilities with the Chrome browser.', 'The emphasis is on setting the node URL, specifying the platform as Windows 7, and setting the browser name as Chrome.', 'Handling errors involves importing the URL from java.net, handling unhandled exception type malformed URL exception, and surrounding the code with try-catch.', 'The process includes running the script on a node, verifying the registered nodes on the hub, and understanding the number of instances of different browsers that can be opened in one go.']}, {'end': 23474.184, 'start': 23032.59, 'title': 'Setting up parallel testing with testng', 'summary': 'Covers the process of setting up parallel testing with testng, creating testng classes, configuring parallel testing in grid.xml, and writing code to run test cases in parallel on multiple nodes with testng, emphasizing the importance of changing the ip address for different nodes and the flexibility of the setup to work on multiple systems.', 'duration': 441.594, 'highlights': ['The process of setting up parallel testing with TestNG, including creating TestNG classes and configuring parallel testing in grid.xml', 'Emphasizing the importance of changing the IP address for different nodes and the flexibility of the setup to work on multiple systems', 'Writing code to run test cases in parallel on multiple nodes with TestNG, specifying the need to change the IP address for different nodes']}, {'end': 24002.321, 'start': 23474.824, 'title': 'Cross browser testing in selenium', 'summary': 'Provides a practical demonstration of setting up parallel test execution using the selenium grid, showcasing parallel execution in chrome and firefox, while highlighting the benefits and importance of cross browser testing in selenium.', 'duration': 527.497, 'highlights': ['The chapter demonstrates parallel test execution using the Selenium Grid, showcasing the simultaneous execution of test cases in Chrome and Firefox, highlighting the efficiency gained through parallel execution.', 'The instructor emphasizes the importance of cross browser testing in Selenium, citing the ability to function across different browsers and operating systems as a crucial aspect, reducing time and effort in test execution.', 'The concept of cross browser testing is explained, with an example illustrating the time and effort saved through automation, compared to manual execution across multiple browsers.']}, {'end': 24501.452, 'start': 24002.802, 'title': 'Importance of cross browser testing', 'summary': 'Explains the importance of cross browser testing, including the need for consistency in ui across different browsers and the use of both manual and automated methods, with a focus on the cost and time benefits of the automated approach using tools like selenium webdriver.', 'duration': 498.65, 'highlights': ['The need for cross browser testing arises from the different rendering behavior of browsers like Google Chrome, Firefox, and Internet Explorer, resulting in varied website display, emphasizing the importance of providing a consistent user interface (UI) for all customers.', 'Cross browser testing is crucial for checking browser compatibility with different operating systems, image orientation, new web frameworks, and JavaScript variations, ensuring a seamless user experience across platforms and browsers.', 'The manual method of cross browser testing involves identifying supported browsers, rerunning test cases across different browsers, and reporting any behavioral discrepancies or bugs, but it is limited in coverage, time-consuming, and costly, leading to the preference for automated testing.', 'Automated cross browser testing, particularly with tools like Selenium WebDriver and TestNG framework, offers cost and time-effective benefits by running the same test cases multiple times on different browsers, enabling efficient compatibility checks and bug identification.', 'The demonstration of cross browser compatibility testing using Selenium WebDriver showcases the automation of test cases across browsers like Internet Explorer, Firefox, Chrome, Safari, and Edge, highlighting the practical implementation and advantages of automated testing.', 'The detailed code demonstration illustrates the use of Selenium WebDriver to automate cross browser testing, including the setup of browser instances, system properties for drivers, and the execution of test cases to ensure compatibility and functionality across different browsers, emphasizing the practical application of automated testing in web development.']}], 'duration': 2431.952, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw22069500.jpg', 'highlights': ['The demonstration of cross browser compatibility testing using Selenium WebDriver showcases the automation of test cases across browsers like Internet Explorer, Firefox, Chrome, Safari, and Edge, highlighting the practical implementation and advantages of automated testing.', 'The process of configuring Selenium Grid for remote testing is explained, highlighting the shift from Selenium RC to using Selenium webdriver for running tests using grid.', 'The need for cross browser testing arises from the different rendering behavior of browsers like Google Chrome, Firefox, and Internet Explorer, resulting in varied website display, emphasizing the importance of providing a consistent user interface (UI) for all customers.', 'The chapter demonstrates parallel test execution using the Selenium Grid, showcasing the simultaneous execution of test cases in Chrome and Firefox, highlighting the efficiency gained through parallel execution.', 'Automated cross browser testing, particularly with tools like Selenium WebDriver and TestNG framework, offers cost and time-effective benefits by running the same test cases multiple times on different browsers, enabling efficient compatibility checks and bug identification.']}, {'end': 25906.58, 'segs': [{'end': 24632.681, 'src': 'embed', 'start': 24607.31, 'weight': 1, 'content': [{'end': 24614.613, 'text': 'You can see even on this at first enter selenium and I can search for any of the courses in our edureka website.', 'start': 24607.31, 'duration': 7.303}, {'end': 24619.335, 'text': 'Yes, so here as well so I can check from the selenium course.', 'start': 24615.273, 'duration': 4.062}, {'end': 24623.397, 'text': 'So what happened exactly on the browsers?', 'start': 24620.175, 'duration': 3.222}, {'end': 24632.681, 'text': 'first it launched Google Chrome browser, it hit on the login button, enter the credentials for username and password and then what it did.', 'start': 24623.397, 'duration': 9.284}], 'summary': 'Using selenium, i can search for courses and interact with browser elements.', 'duration': 25.371, 'max_score': 24607.31, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw24607310.jpg'}, {'end': 24848.295, 'src': 'embed', 'start': 24821.975, 'weight': 4, 'content': [{'end': 24826.298, 'text': 'but your driver should support all the different versions of the browsers.', 'start': 24821.975, 'duration': 4.323}, {'end': 24833.403, 'text': 'So just make sure whether the driver supports your version or not, and accordingly you can go ahead and execute the test cases.', 'start': 24826.838, 'duration': 6.565}, {'end': 24840.469, 'text': 'and if you wish to know how to perform cross browser testing using one of the most amazing tool that is lambda test,', 'start': 24833.403, 'duration': 7.066}, {'end': 24846.333, 'text': 'you can check out our YouTube playlist, wherein you will get a video called cross browser testing using lambda test,', 'start': 24840.469, 'duration': 5.864}, {'end': 24848.295, 'text': 'and also you can learn that as well.', 'start': 24846.333, 'duration': 1.962}], 'summary': 'Driver should support all browser versions for cross browser testing. learn with lambda test video.', 'duration': 26.32, 'max_score': 24821.975, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw24821975.jpg'}, {'end': 25033.522, 'src': 'embed', 'start': 25006.841, 'weight': 3, 'content': [{'end': 25011.223, 'text': 'So first I will tell you how to automate a website and run the test cases here.', 'start': 25006.841, 'duration': 4.382}, {'end': 25015.386, 'text': 'I will be automating our Edureka website and run various test cases on.', 'start': 25011.624, 'duration': 3.762}, {'end': 25023.131, 'text': 'that next project will be about a flight booking application wherein I will enter the details and book a flight and get the confirmation as well.', 'start': 25015.386, 'duration': 7.745}, {'end': 25029.315, 'text': 'And after that I will tell you some interesting case studies where many Industries are using selenium to resolve their challenges.', 'start': 25023.591, 'duration': 5.724}, {'end': 25031.699, 'text': 'I hope you found agenda interesting.', 'start': 25030.056, 'duration': 1.643}, {'end': 25033.522, 'text': "Let's move on and get started.", 'start': 25032.019, 'duration': 1.503}], 'summary': 'Automating edureka website, testing flight booking app, sharing selenium case studies.', 'duration': 26.681, 'max_score': 25006.841, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw25006841.jpg'}, {'end': 25236.003, 'src': 'embed', 'start': 25204.103, 'weight': 0, 'content': [{'end': 25209.225, 'text': 'And next what happened it navigated back through the main page and it logged out correct.', 'start': 25204.103, 'duration': 5.122}, {'end': 25212.461, 'text': "Yes, so I'm not doing anything here.", 'start': 25210.419, 'duration': 2.042}, {'end': 25217.646, 'text': 'Everything was being controlled by automated test software and everything was done by itself.', 'start': 25212.621, 'duration': 5.025}, {'end': 25219.528, 'text': 'So basically what happened?', 'start': 25218.127, 'duration': 1.401}, {'end': 25227.356, 'text': 'it first navigated through Edureka website, then enter the credentials for username and password and hit the login button.', 'start': 25219.528, 'duration': 7.828}, {'end': 25236.003, 'text': 'then it clicked on your profile and navigated through my profile, where you can update your details, like personal details, career, interest,', 'start': 25227.356, 'duration': 8.647}], 'summary': 'Automated test software navigated through edureka website, entered credentials, and updated profile.', 'duration': 31.9, 'max_score': 25204.103, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw25204103.jpg'}], 'start': 24501.912, 'title': 'Cross browser testing with selenium', 'summary': 'Covers the process of cross-browser testing using selenium, executing tests on chrome, firefox, and edge simultaneously, with no failures or skips, highlighting the benefits and advantages of selenium for automated testing, and includes specific projects and case studies.', 'chapters': [{'end': 24755.877, 'start': 24501.912, 'title': 'Cross browser testing with selenium', 'summary': 'Details the process of performing cross-browser testing using selenium, executing tests on chrome, firefox, and edge browsers simultaneously, with no failures or skips, to ensure consistent behavior and functionality, while also highlighting the use of parallel execution and the total number of successful tests.', 'duration': 253.965, 'highlights': ['The chapter explains the process of creating an XML file for TestNG to define test suites and configure parallel execution for Chrome, Firefox, and Edge browsers, with a thread count of 3, ensuring simultaneous test runs and efficient resource utilization.', 'It details the actions performed during cross-browser testing, such as launching browsers, entering credentials, and executing searches on the Chrome, Firefox, and Edge browsers, showcasing consistent behavior and functionality across different browsers.', 'The chapter highlights the successful execution of all tests in the test suite, with no failures or skips, ensuring the consistent and reliable performance of the cross-browser testing process.']}, {'end': 24939.815, 'start': 24756.696, 'title': 'Cross browser testing with selenium', 'summary': 'Emphasizes the importance of cross browser compatibility testing using selenium, highlighting its benefits such as resolving issues in different browsers, ensuring a professional look, and extending testing to mobile web browsers, with selenium being a suitable tool for these tests.', 'duration': 183.119, 'highlights': ['The chapter emphasizes the importance of cross browser compatibility testing using Selenium, highlighting its benefits such as resolving issues in different browsers, ensuring a professional look, and extending testing to mobile web browsers, with Selenium being a suitable tool for these tests.', 'The chapter demonstrates the successful execution of cross browser compatibility testing across Google Chrome, Mozilla Firefox, and Microsoft Edge using Selenium, ensuring that the website works perfectly fine and performs all actions on all three different web browsers.', 'It is stated that cross browser compatibility testing is essential for anyone who wants a professional-looking website or application, as it resolves issues that might hinder the vital functions of the web application and makes the web application successful, drawing more customers.']}, {'end': 25127.715, 'start': 24939.815, 'title': 'Advantages of cross browser testing', 'summary': 'Discusses the advantages of cross browser testing, emphasizing the importance of testing web applications on popular browsers like google chrome, firefox, and edge, and also highlights the benefits of using selenium for automated testing, along with an agenda of selenium projects and case studies.', 'duration': 187.9, 'highlights': ['Google Chrome has surpassed Internet Explorer to become the most popular web browser in the world, emphasizing the importance of testing web applications on all three important browsers - Chrome, Firefox, and Edge.', 'Conducting automated tests using Selenium can be recorded in one browser and played back in other supported browsers, eliminating the need for developing and maintaining separate tests, thus simplifying the testing process.', 'The agenda includes discussion on two selenium projects - automating the Edureka website and a flight booking application, along with trending case studies on industries using Selenium to resolve challenges.', 'The first project involves automating the Edureka website by updating personal details and career interests through a Selenium script, demonstrating the practical application of Selenium for web automation.', 'The chapter also emphasizes the significance of using TestNG for checking test pass or fail status, and the specific steps involved in automating the Edureka website using Selenium, highlighting the importance of Chrome driver for navigation and launching Google Chrome.']}, {'end': 25607.715, 'start': 25127.715, 'title': 'Automated testing with selenium', 'summary': 'Describes using selenium to automate testing, including navigating through a website, entering credentials, and performing actions, ensuring successful test execution and no failures, and utilizing locators and explicit wait for web element visibility.', 'duration': 480, 'highlights': ['Using Selenium to automate testing, including navigating through a website, entering credentials, and performing various actions, demonstrating the effectiveness of automation.', 'Successful execution of the test with no failures and no skips, indicating the reliability of the automated testing process.', 'Utilizing locators such as link text and XPath for identifying elements on the web page, showcasing the use of specific techniques in automated testing.', 'Employing explicit wait to ensure the visibility of web elements within a specified time frame, highlighting the use of advanced techniques in automated testing.', 'Utilizing Chrome driver for launching Google Chrome and demonstrating how different drivers are used for various browsers, emphasizing adaptability in automated testing.']}, {'end': 25906.58, 'start': 25609.179, 'title': 'Automating website with selenium testing tool', 'summary': 'Outlines the process of automating the edureka portal using selenium testing tool, including navigation through the user profile, updating details, and logging out, with a success report at the end. it also introduces the next project of testing the flight booking website called new tours.', 'duration': 297.401, 'highlights': ['The chapter details the process of automating the Edureka portal using Selenium testing tool, including navigation through the user profile, updating details, and logging out, with a success report at the end, showcasing no failures and no skips.', 'The next project involves testing the flight booking website called new tours and getting the confirmation of the ticket through automation testing using Selenium.', 'The process involves setting the browser factory to check the compatibility of the browsers, logging into the new tours website, entering the details required for booking a flight, and finally checking for the confirmation of the booked ticket, which includes capturing a screenshot.']}], 'duration': 1404.668, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw24501912.jpg', 'highlights': ['The chapter explains the process of creating an XML file for TestNG to define test suites and configure parallel execution for Chrome, Firefox, and Edge browsers, with a thread count of 3, ensuring simultaneous test runs and efficient resource utilization.', 'The chapter emphasizes the importance of cross browser compatibility testing using Selenium, highlighting its benefits such as resolving issues in different browsers, ensuring a professional look, and extending testing to mobile web browsers, with Selenium being a suitable tool for these tests.', 'Google Chrome has surpassed Internet Explorer to become the most popular web browser in the world, emphasizing the importance of testing web applications on all three important browsers - Chrome, Firefox, and Edge.', 'Using Selenium to automate testing, including navigating through a website, entering credentials, and performing various actions, demonstrating the effectiveness of automation.', 'The chapter details the process of automating the Edureka portal using Selenium testing tool, including navigation through the user profile, updating details, and logging out, with a success report at the end, showcasing no failures and no skips.']}, {'end': 26842.931, 'segs': [{'end': 25975.547, 'src': 'embed', 'start': 25950.335, 'weight': 0, 'content': [{'end': 25956.396, 'text': "That is I'm creating an object of a new chrome driver and using the system.set property.", 'start': 25950.335, 'duration': 6.061}, {'end': 25963.098, 'text': "I'm giving the path for the chrome driver at this where I have installed my chrome driver.", 'start': 25956.956, 'duration': 6.142}, {'end': 25964.118, 'text': 'So this is the path.', 'start': 25963.198, 'duration': 0.92}, {'end': 25967.962, 'text': "Next what I'm doing and deleting all the cookies,", 'start': 25964.759, 'duration': 3.203}, {'end': 25975.547, 'text': 'maximizing the window because I want to Chrome driver to launch Google Chrome and maximize all the windows and delete all the cookies.', 'start': 25967.962, 'duration': 7.585}], 'summary': 'Creating new chrome driver, setting path, maximizing window, deleting cookies.', 'duration': 25.212, 'max_score': 25950.335, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw25950335.jpg'}, {'end': 26130.622, 'src': 'embed', 'start': 26105.427, 'weight': 3, 'content': [{'end': 26111.548, 'text': "I'm creating a web element for username and password and also a web element for login,", 'start': 26105.427, 'duration': 6.121}, {'end': 26120.49, 'text': 'and then inside the login wordpress page and passing the arguments as string use and string pass, that is for username and before user password,', 'start': 26111.548, 'duration': 8.942}, {'end': 26123.091, 'text': "and I'm sending the keys for username and password.", 'start': 26120.49, 'duration': 2.601}, {'end': 26124.611, 'text': "I'm just catching the exception.", 'start': 26123.151, 'duration': 1.46}, {'end': 26126.952, 'text': 'So basically this is for login page.', 'start': 26125.111, 'duration': 1.841}, {'end': 26130.622, 'text': 'Next will be a flight finder page.', 'start': 26127.899, 'duration': 2.723}], 'summary': 'Creating web elements for username, password, and login, passing arguments and sending keys. handling exceptions. next step is the flight finder page.', 'duration': 25.195, 'max_score': 26105.427, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw26105427.jpg'}, {'end': 26305.404, 'src': 'embed', 'start': 26281.786, 'weight': 1, 'content': [{'end': 26289.447, 'text': "I'm again specifying the same thing that is I'm specifying the types of the airline present and I'm just catching it in the exception.", 'start': 26281.786, 'duration': 7.661}, {'end': 26296.497, 'text': 'Simple and finally, I want to click on the particular one, whichever you want to select, and if any exceptions,', 'start': 26290.149, 'duration': 6.348}, {'end': 26298.78, 'text': 'it will be catched as an exception and handled.', 'start': 26296.497, 'duration': 2.283}, {'end': 26303.526, 'text': 'So once I select the flight the next step is what you have to book the particular flight.', 'start': 26299.541, 'duration': 3.985}, {'end': 26305.404, 'text': 'So for that what you want.', 'start': 26304.244, 'duration': 1.16}], 'summary': 'Specifying airline types, selecting a flight, and booking it, with exception handling.', 'duration': 23.618, 'max_score': 26281.786, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw26281786.jpg'}, {'end': 26583.537, 'src': 'embed', 'start': 26555.087, 'weight': 2, 'content': [{'end': 26562.609, 'text': "I'm giving the username and password for login and I'm finding the flight based on these details.", 'start': 26555.087, 'duration': 7.522}, {'end': 26574.415, 'text': 'Yes And if there is something that matches and it assert equals to true simple else it says assert equals to false and it will catch an exception.', 'start': 26563.569, 'duration': 10.846}, {'end': 26576.698, 'text': 'So this is all about the test case class.', 'start': 26574.796, 'duration': 1.902}, {'end': 26583.537, 'text': 'And finally, I have the capture screenshot class where I will get the screenshot,', 'start': 26577.93, 'duration': 5.607}], 'summary': 'Test case class finds flight with given login details.', 'duration': 28.45, 'max_score': 26555.087, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw26555087.jpg'}], 'start': 25907.16, 'title': 'Automated flight booking with selenium', 'summary': 'Covers the configuration of a browser factory for chrome, firefox, and internet explorer, creation of ui pages, automating flight booking process, capturing screenshots, and executing tests using selenium and testng xml.', 'chapters': [{'end': 26151.643, 'start': 25907.16, 'title': 'Automated browser configuration and ui testing', 'summary': 'Explains the configuration of a browser factory for chrome, firefox, and internet explorer, and the creation of ui pages such as login, flight finder, select flight, book flight, and flight confirmation, emphasizing the importance of browser specifications and the sequence of actions in the ui flow.', 'duration': 244.483, 'highlights': ['The chapter details the process of setting up a browser factory for Chrome, Firefox, and Internet Explorer, emphasizing the importance of configuring browser specifications. It also explains the sequence of actions in the UI flow, including login, flight finding, selecting a flight, booking a flight, and obtaining flight confirmation.', 'The browser factory creation involves setting up the Chrome driver, Firefox driver, and Internet Explorer driver, along with browser-specific settings such as deleting cookies, maximizing windows, and setting page timeouts and implicitly waits.', 'The UI package creation includes the creation of pages such as login, flight finder, select flight, book flight, and flight confirmation, with each page involving specific actions and web element interactions, such as entering username and password, finding flight details, and performing flight booking.', 'The chapter emphasizes the importance of setting up browser factory configurations for multiple browsers, such as Chrome, Firefox, and Internet Explorer, to ensure the application runs seamlessly across different environments.']}, {'end': 26509.195, 'start': 26152.279, 'title': 'Automated flight booking process', 'summary': 'Covers the process of automating flight booking, involving locating elements using x path, selecting airlines, specifying class type, and sending details for booking, as well as the usage of helper and test case classes.', 'duration': 356.916, 'highlights': ['The process involves locating elements using X path, selecting airlines, specifying class type, and sending details for booking, with examples such as selecting the flight, giving details for booking a flight, and using the book flight page details.', 'The usage of helper class to declare annotations for checking the workflow execution and the test case class for entering all the details to select and book a flight are explained.', 'The chapter also details the usage of X path, web elements, and sending keys for specifying various details during the flight booking process.']}, {'end': 26666.12, 'start': 26509.195, 'title': 'Automated flight booking test', 'summary': 'Details the process of capturing a screenshot for flight confirmation, validating credentials, and executing an automated test using selenium, with emphasis on capturing screenshots and executing the program using testng xml.', 'duration': 156.925, 'highlights': ['The chapter details the process of capturing a screenshot for flight confirmation, emphasizing the use of Selenium to capture and save the screenshot.', 'It outlines the validation of credentials, including logging in, finding a flight, and using assertions to verify the outcome.', 'The transcript explains the execution of the program using TestNG XML, specifying the class name and running the test suite.']}, {'end': 26842.931, 'start': 26667.641, 'title': 'Automating flight booking with selenium', 'summary': 'Details the automation of a flight booking application using selenium, including the execution flow, test cases, and methods used, ensuring the process works perfectly.', 'duration': 175.29, 'highlights': ['The automation process includes entering passenger details, such as the departure and arrival dates, airline preferences, and payment information, ensuring accurate and efficient execution.', 'The detailed execution process involves navigating through the website, entering username and password, selecting flight preferences, confirming bookings, and capturing and validating screenshots.', "The methods used for automation, including 'before in method', 'after in method', 'get screenshot method', and 'add before method', are verified to work perfectly, demonstrating the effectiveness of the automation process.", 'The transcript provides specific details of the execution flow, including the sequence of actions, test cases, and the successful automation of the flight booking application using Selenium.']}], 'duration': 935.771, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw25907160.jpg', 'highlights': ['The chapter emphasizes the importance of setting up browser factory configurations for multiple browsers, such as Chrome, Firefox, and Internet Explorer, to ensure the application runs seamlessly across different environments.', 'The detailed execution process involves navigating through the website, entering username and password, selecting flight preferences, confirming bookings, and capturing and validating screenshots.', 'The process involves locating elements using X path, selecting airlines, specifying class type, and sending details for booking, with examples such as selecting the flight, giving details for booking a flight, and using the book flight page details.', 'The chapter details the process of capturing a screenshot for flight confirmation, emphasizing the use of Selenium to capture and save the screenshot.']}, {'end': 28650.754, 'segs': [{'end': 27277.342, 'src': 'embed', 'start': 27258.718, 'weight': 1, 'content': [{'end': 27273.021, 'text': 'and also management has also requested that a report should be generated after executing a test suit in order to create the report Apache and was used to execute the J unit test and generate a J unit report,', 'start': 27258.718, 'duration': 14.303}, {'end': 27277.342, 'text': 'and the report displayed metrics on the number of tests that failed and passed,', 'start': 27273.021, 'duration': 4.321}], 'summary': 'Management requested a report after executing a test suit using apache to generate a junit report, displaying metrics on failed and passed tests.', 'duration': 18.624, 'max_score': 27258.718, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw27258718.jpg'}, {'end': 27355.983, 'src': 'embed', 'start': 27292.412, 'weight': 0, 'content': [{'end': 27299.76, 'text': 'and the virtual machines will serve to provide a environment in which full regression testing will be performed on using the selenium grid.', 'start': 27292.412, 'duration': 7.348}, {'end': 27302.499, 'text': 'So what are the benefits of this?', 'start': 27300.638, 'duration': 1.861}, {'end': 27304.36, 'text': 'by sticking with an open source project?', 'start': 27302.499, 'duration': 1.861}, {'end': 27312.105, 'text': 'There was no cost in obtaining the required components to set up the framework, and additional savings were made by implementing the selenium grid.', 'start': 27304.38, 'duration': 7.725}, {'end': 27318.469, 'text': 'Originally the client opted to utilize a third-party company to execute selenium webdriver test scripts.', 'start': 27312.665, 'duration': 5.804}, {'end': 27320.576, 'text': 'With the help of selenium grid.', 'start': 27319.255, 'duration': 1.321}, {'end': 27325.261, 'text': 'The client is now able to run the selenium WebDriver test scripts without any limits or fees.', 'start': 27320.636, 'duration': 4.625}, {'end': 27333.609, 'text': 'So this is all about the benefits and how selenium has helped in various aspects for automation framework for physical fitness data.', 'start': 27325.742, 'duration': 7.867}, {'end': 27339.055, 'text': 'It made use of Apache and JUnit test WebDriver selenium grid and many more.', 'start': 27333.709, 'duration': 5.346}, {'end': 27344.377, 'text': 'Most importantly, it required very less human effort and there were no intervention costs,', 'start': 27339.555, 'duration': 4.822}, {'end': 27349, 'text': 'and also it was performing very well and the cost was very low,', 'start': 27344.377, 'duration': 4.623}, {'end': 27353.162, 'text': "and that's why selenium is preferred when compared to other automation tools in the market.", 'start': 27349, 'duration': 4.162}, {'end': 27355.983, 'text': 'I hope you found these case studies interesting.', 'start': 27353.742, 'duration': 2.241}], 'summary': 'Selenium grid enables cost-effective, efficient regression testing, saving on third-party fees and human effort.', 'duration': 63.571, 'max_score': 27292.412, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw27292412.jpg'}, {'end': 28283.601, 'src': 'embed', 'start': 28252.035, 'weight': 2, 'content': [{'end': 28255.477, 'text': 'you need automation for that reason and you need your code to be simple.', 'start': 28252.035, 'duration': 3.442}, {'end': 28256.938, 'text': 'You should be able to understand your code.', 'start': 28255.517, 'duration': 1.421}, {'end': 28265.265, 'text': 'And if you have a bug you should be able to easily and efficiently fix that bug, right? For these reasons you need to use a selenium framework.', 'start': 28257.298, 'duration': 7.967}, {'end': 28268.127, 'text': "I'm pretty sure I'm not making too much sense right now.", 'start': 28265.965, 'duration': 2.162}, {'end': 28271.529, 'text': "So let me go forward and explain what I'm talking about in more detail.", 'start': 28268.207, 'duration': 3.322}, {'end': 28276.973, 'text': 'But before I go forward, let me tell you what are the benefits of a selenium framework.', 'start': 28272.21, 'duration': 4.763}, {'end': 28283.601, 'text': 'first and foremost, when you implement a selenium framework, There is increased code Reusage, which is a very, very good thing,', 'start': 28276.973, 'duration': 6.628}], 'summary': 'Use a selenium framework for increased code reusability.', 'duration': 31.566, 'max_score': 28252.035, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw28252035.jpg'}], 'start': 26843.471, 'title': 'Selenium framework', 'summary': "Discusses a case study of an it service provider's challenges in enterprise management system, the implementation of selenium resulting in time and cost savings, benefits of automation, and the data-driven framework using selenium with apache poi for input.", 'chapters': [{'end': 26907.808, 'start': 26843.471, 'title': 'Enterprise management case study', 'summary': "Discusses a case study of an information technology service provider's enterprise management system, which faced challenges due to its complex application with many modules, resulting in the need for a large number of test cases, leading to difficulties and high costs in manual testing.", 'duration': 64.337, 'highlights': ["The client's custom Enterprise Management System was a fairly complex application with many modules.", 'The various modules of the application were used for corporate communication, project management, customers and sales management, human resource management, accounting, knowledge and learning management, and internal social networking.', 'The huge scope of the system led to a large number of test cases to check the functionality and workflow of the application, resulting in difficulties and high costs in manual testing.']}, {'end': 27177.363, 'start': 26907.808, 'title': 'Selenium for automation testing in it services', 'summary': 'Discusses the implementation of selenium as an automation testing tool, which resulted in significant time and cost savings for an it service provider. it also highlights the adoption of selenium in enterprise management systems and a functional test automation framework for a health industry application.', 'duration': 269.555, 'highlights': ['The implementation of selenium for automation testing resulted in significant time and cost savings for the IT service provider, as the automation scripts could be easily run and simultaneously generated eminently readable and understandable HTML reports, displaying information such as test pass or fail result, script execution time, and screenshots for each test and test step separately.', 'The organization selected selenium as it was found to be the best suited tool for regression testing, and they designed a high-level hybrid framework, making the test scripts easy to run even for non-technical users.', 'In the health industry, a functional test automation framework was implemented using selenium webdriver, page object design pattern, Eclipse, Java, selenium, Apache, and JUnit, resulting in 100% open source automation framework with minimized script maintenance and the ability for employees to create new test scripts.', 'The page object design pattern was utilized in the automation framework, with classes created for each page in the application, providing an interface for testers to interact with each page and creating test scripts by calling methods from the page object classes to perform specific transactions.']}, {'end': 27382.727, 'start': 27177.363, 'title': 'Selenium automation benefits', 'summary': 'Discusses the implementation of selenium for automation, including logging mechanism, test script execution, report generation, cost savings, and benefits of using open source tools.', 'duration': 205.364, 'highlights': ['Selenium web driver was used with a custom logging mechanism to record detailed logs into an XML file, providing insight into test script failures and the steps that caused them.', "The Selenium framework included training for client's employees, continuous support for issue resolution, and addressing challenges with Ajax usage in the application.", 'The implementation of Apache and JUnit for report generation provided metrics on test pass/fail, failure analysis, and setting up a Selenium grid for full regression testing supported different browser versions with no additional cost.', 'The use of Selenium resulted in significant cost savings, as the client was able to run test scripts without limits or fees, and automation with data provider and TestNG facilitated the automated provision of test cases.']}, {'end': 27905.752, 'start': 27383.707, 'title': 'Data provider & test ng', 'summary': 'Provides an overview of data-driven framework, types of parameterization in test ng, and the functionality of data provider in test ng. it explains the process of using data provider annotation to pass data, and demonstrates the execution of tests using different sets of data.', 'duration': 522.045, 'highlights': ['Data-driven framework stores test data in a table or spreadsheet format, enabling execution of tests for all the data in the table, and supports positive and negative test cases in a single sheet.', 'Parameterization in Test NG can be achieved using parameter annotation with name and search key, or data provider annotation to search for the given provider.', 'Data provider in Test NG requires declaring a method that returns a data set in the form of a two-dimensional object array, and can be used to provide a large data set in a single execution flow.', 'Demonstrates the process of passing data using data provider annotation, creating a two-dimensional array object, and executing tests with different sets of data, showcasing the functionality and success of the tests.']}, {'end': 28650.754, 'start': 27906.332, 'title': 'Selenium framework data-driven testing', 'summary': 'Covers the implementation of a data-driven testing framework using selenium, including the benefits of using a framework and the types of selenium frameworks available, such as data-driven, keyword-driven, and hybrid frameworks. the chapter also explains the concept of a data-driven framework, its benefits, and the use of apache poi to read and write data from an excel file for input to the selenium web driver.', 'duration': 744.422, 'highlights': ['The implementation of a data-driven testing framework using Selenium, including the benefits of using a framework and the types of Selenium frameworks available, such as data-driven, keyword-driven, and hybrid frameworks. The chapter also explains the concept of a data-driven framework, its benefits, and the use of Apache POI to read and write data from an Excel file for input to the Selenium web driver.', 'The benefits of implementing a Selenium framework, including increased code reusage, improved code readability, and higher portability, leading to simpler script maintenance and efficient bug fixing.', 'The concept of a data-driven testing framework, where the data set under test is stored separately from the test script, enabling automation testing driven by the data set and facilitating easy modification of data sets without affecting the code. The use of Apache POI as an external tool to read and write data from an Excel file for input to the Selenium web driver.']}], 'duration': 1807.283, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw26843471.jpg', 'highlights': ['The implementation of selenium for automation testing resulted in significant time and cost savings for the IT service provider', 'The huge scope of the system led to a large number of test cases, resulting in difficulties and high costs in manual testing', "The client's custom Enterprise Management System was a fairly complex application with many modules", 'The benefits of implementing a Selenium framework include increased code reusage, improved code readability, and higher portability', 'The data-driven framework stores test data in a table or spreadsheet format, enabling execution of tests for all the data in the table']}, {'end': 29894.136, 'segs': [{'end': 28751.552, 'src': 'embed', 'start': 28721.744, 'weight': 0, 'content': [{'end': 28725.066, 'text': 'So let me just minimize this and coming to my class.', 'start': 28721.744, 'duration': 3.322}, {'end': 28726.447, 'text': 'So, basically,', 'start': 28725.826, 'duration': 0.621}, {'end': 28735.032, 'text': "the first thing I've done in my classes have created a chrome driver object and I've created this outside because I want to do it globally,", 'start': 28726.447, 'duration': 8.585}, {'end': 28740.896, 'text': 'because all my other functionalities, all my other methods, which is containing the functionality to perform the test.', 'start': 28735.032, 'duration': 5.864}, {'end': 28743.398, 'text': 'They all have at the rate test annotations.', 'start': 28741.276, 'duration': 2.122}, {'end': 28751.552, 'text': 'and because I cannot have my chrome driver inside one of these annotations app for defined globally outside and coming to the next line.', 'start': 28744.108, 'duration': 7.444}], 'summary': 'Created a chrome driver object globally for test annotations.', 'duration': 29.808, 'max_score': 28721.744, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw28721744.jpg'}, {'end': 28890.879, 'src': 'embed', 'start': 28848.288, 'weight': 1, 'content': [{'end': 28856.094, 'text': "So what I obtain and store in this get title variable if that matches this then my test is a pass right if it does not then it's invalid.", 'start': 28848.288, 'duration': 7.806}, {'end': 28861.104, 'text': 'and after that I have another small method which is basically to terminate my session.', 'start': 28856.883, 'duration': 4.221}, {'end': 28863.484, 'text': "So I've used an after method annotation for that.", 'start': 28861.484, 'duration': 2}, {'end': 28871.546, 'text': "Let's say when all the methods get completely executed that time this will be executed and my program will quit now.", 'start': 28864.125, 'duration': 7.421}, {'end': 28880.208, 'text': "Let me go to this part of my program, which is nothing but the data provider and explain you how I'm reading data into this method.", 'start': 28871.966, 'duration': 8.242}, {'end': 28883.169, 'text': "So I've created this method as an array.", 'start': 28880.968, 'duration': 2.201}, {'end': 28887.477, 'text': "Okay And here what I'm doing is I'm calling my second class.", 'start': 28883.689, 'duration': 3.788}, {'end': 28890.879, 'text': 'So the read Excel file here right?', 'start': 28888.057, 'duration': 2.822}], 'summary': 'The transcript discusses variable matching, test passing, method termination, and data reading from an excel file.', 'duration': 42.591, 'max_score': 28848.288, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw28848288.jpg'}, {'end': 29755.039, 'src': 'embed', 'start': 29725.858, 'weight': 4, 'content': [{'end': 29727.838, 'text': 'not relevant or needed for my test.', 'start': 29725.858, 'duration': 1.98}, {'end': 29729.698, 'text': "It's just for your understanding purpose.", 'start': 29728.238, 'duration': 1.46}, {'end': 29734.533, 'text': "I've just said what each of these methods do These will be the ones that will get executed.", 'start': 29729.718, 'duration': 4.815}, {'end': 29739.035, 'text': "And the next thing I've done is I have called the read Excel data class.", 'start': 29735.674, 'duration': 3.361}, {'end': 29743.716, 'text': 'Okay, So this is the read Excel data class and this has a couple of methods.', 'start': 29739.335, 'duration': 4.381}, {'end': 29748.317, 'text': 'set Excel file is one method and get cell data is one more method inside this class.', 'start': 29743.716, 'duration': 4.601}, {'end': 29755.039, 'text': "Okay, and what I've done here is, while calling this class, have said execute this set Excel method.", 'start': 29748.997, 'duration': 6.042}], 'summary': 'Describes methods and calls for executing read excel data class.', 'duration': 29.181, 'max_score': 29725.858, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw29725858.jpg'}], 'start': 28651.714, 'title': 'Selenium frameworks and excel file reading', 'summary': 'Provides a demonstration of three different frameworks within the selenium project - data-driven, keyword driven, and hybrid framework - along with the process of reading an excel file using apache poi library, including initialization of workbook and sheet objects, finding the row count, and reading data from each cell in the excel file. it also discusses the implementation of data-driven and keyword-driven frameworks in test automation, showcasing the use of excel files to feed data and control the methods to be executed, with examples of test executions and their outcomes.', 'chapters': [{'end': 28913.612, 'start': 28651.714, 'title': 'Selenium frameworks demo', 'summary': 'Provides a demonstration of three different frameworks - data-driven, keyword driven, and hybrid framework - within the selenium project, detailing the functionality and usage of apache poi libraries for reading external excel files to retrieve test data.', 'duration': 261.898, 'highlights': ['The chapter demonstrates three different frameworks within the Selenium project: data-driven, keyword driven, and hybrid framework.', 'The usage of Apache Poi libraries, XSSF workbook, and XSSF sheet to read data from an external Excel file.', 'Detailed explanation of the main class, including the global creation of a Chrome driver object, usage of @Test annotations, passing username and password credentials, and verifying login success based on the obtained title of the web page.', 'Explanation of the data provider method, which involves reading data into the method using an array and creating an object instance of the read Excel file class to retrieve login credentials from the Excel file.']}, {'end': 29333.523, 'start': 28914.11, 'title': 'Excel file reading process', 'summary': 'Explains the process of reading an excel file using apache poi library including the creation of a constructor, initialization of workbook and sheet objects, finding the row count, creating a two-dimensional array for storing credentials, and reading data from each cell in the excel file.', 'duration': 419.413, 'highlights': ['The constructor with the same name as the class is used to pass the excel path and is called when the class is invoked from a method.', "Workbook and sheet objects are created using XSSF workbook and XSSF sheet to handle the excel workbook and a specific sheet, with the object names 'WB' and 'sheet'.", "The process of finding the row count in the excel file involves using the 'WB.getSheetAt(sheetIndex)' method and 'row = row + 1' to determine the total number of rows.", 'A two-dimensional array is used to store both the username and password, with the size being controlled by the number of rows and columns in the excel file.', "A for loop is used to read data from each cell in the excel file, where 'get data' method is called with parameters to retrieve the data from specific cells."]}, {'end': 29622.049, 'start': 29333.523, 'title': 'Data-driven & keyword-driven frameworks', 'summary': 'Discusses the implementation of data-driven and keyword-driven frameworks in test automation, showcasing the use of excel files to feed data and control the methods to be executed, with examples of test executions and their outcomes.', 'duration': 288.526, 'highlights': ['The chapter explains the implementation of a data-driven framework using an Excel file to feed data into test scripts, demonstrating the execution of test cases and the outcome of valid and invalid credentials.', 'It showcases the utilization of a keyword-driven framework, using an Excel file to control the methods to be executed in test scripts, detailing the functionalities tested and the corresponding actions performed in the test cases.', 'The demonstration involves the execution of test cases using Chrome browser, validating login credentials, and verifying the outcomes, with a specific focus on controlling the number of methods executed in the test script using the keyword-driven framework.', 'The chapter emphasizes the flexibility and benefits of the keyword-driven framework, allowing easy control over the methods to be executed by adding or removing method names from the Excel file, database, or XML file.']}, {'end': 29894.136, 'start': 29622.429, 'title': 'Keyword driven framework demonstration', 'summary': 'Discusses the creation of a keyword-driven framework in selenium, demonstrating the usage of methods and classes to control test execution and read data from an excel file for testing purposes.', 'duration': 271.707, 'highlights': ['The methods in the keyword-driven framework have smaller functionalities for opening or launching the browser driver, navigating to a web page, passing username credentials, and other specific functionalities, which are then called from the main class file for test execution.', 'The main file, data script, controls the execution and specifies the different functionalities to be tested, along with a separate methods class for specified functionalities and a read Excel data class for reading data from an Excel file.', 'The read Excel data class contains methods such as set Excel file and get cell data, which are used to set the Excel file path and read data from a specific sheet in the Excel file for testing purposes.', 'The logic behind the Excel file and workbook creation involves using XSSF workbook and XSSF sheet functionalities to read actual data, with the path and sheet name coming in from the calling method and creating objects to handle Excel file and workbook functionalities.', 'The creation of objects such as Excel file, Excel workbook, and Excel W sheet, and their interdependencies, allows for the setting of the Excel file and getting the environment ready for test execution.']}], 'duration': 1242.422, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw28651714.jpg', 'highlights': ['The chapter demonstrates three different frameworks within the Selenium project: data-driven, keyword driven, and hybrid framework.', 'The chapter explains the implementation of a data-driven framework using an Excel file to feed data into test scripts, demonstrating the execution of test cases and the outcome of valid and invalid credentials.', 'The demonstration involves the execution of test cases using Chrome browser, validating login credentials, and verifying the outcomes, with a specific focus on controlling the number of methods executed in the test script using the keyword-driven framework.', 'The usage of Apache Poi libraries, XSSF workbook, and XSSF sheet to read data from an external Excel file.', 'The methods in the keyword-driven framework have smaller functionalities for opening or launching the browser driver, navigating to a web page, passing username credentials, and other specific functionalities, which are then called from the main class file for test execution.']}, {'end': 30987.679, 'segs': [{'end': 29940.186, 'src': 'embed', 'start': 29894.597, 'weight': 1, 'content': [{'end': 29896.077, 'text': 'I am starting a for loop here.', 'start': 29894.597, 'duration': 1.48}, {'end': 29901.108, 'text': "and I'm starting a for loop to basically read all my Excel columns contents.", 'start': 29896.744, 'duration': 4.364}, {'end': 29903.711, 'text': 'So whatever method names have specified in my column.', 'start': 29901.409, 'duration': 2.302}, {'end': 29905.493, 'text': 'I want to read those things right?', 'start': 29904.352, 'duration': 1.141}, {'end': 29913.498, 'text': "So for that I've created for loop and I've hard-coded the value that run the for loop seven times, because if you look at my Excel,", 'start': 29905.513, 'duration': 7.985}, {'end': 29915.299, 'text': 'I have seven entries here.', 'start': 29913.498, 'duration': 1.801}, {'end': 29916.92, 'text': 'correct counters seven.', 'start': 29915.299, 'duration': 1.621}, {'end': 29924.825, 'text': 'So I want to run the for loop seven times but start the execution from row one because row zero is not something I want to execute.', 'start': 29916.96, 'duration': 7.865}, {'end': 29925.905, 'text': "It's just a header.", 'start': 29925.225, 'duration': 0.68}, {'end': 29927.546, 'text': 'So these are the ones which I want to execute.', 'start': 29926.125, 'duration': 1.421}, {'end': 29928.547, 'text': 'So this is row number one.', 'start': 29927.566, 'duration': 0.981}, {'end': 29930.608, 'text': 'So start executing from this row.', 'start': 29929.227, 'duration': 1.381}, {'end': 29938.124, 'text': "and this time I'm creating a new object called s actions, having data type spring and again calling this same.", 'start': 29931.559, 'duration': 6.565}, {'end': 29940.186, 'text': 'read Excel data file.', 'start': 29938.124, 'duration': 2.062}], 'summary': 'Using a for loop to read excel columns, hard-coded to run 7 times, starting from row 1, not executing row 0.', 'duration': 45.589, 'max_score': 29894.597, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw29894597.jpg'}, {'end': 29986.426, 'src': 'embed', 'start': 29960.928, 'weight': 5, 'content': [{'end': 29966.954, 'text': 'So when the first time this for loop is executed then I will be reading row number one column number one.', 'start': 29960.928, 'duration': 6.026}, {'end': 29970.518, 'text': 'Okay, because row number is mentioned as one over here.', 'start': 29967.375, 'duration': 3.143}, {'end': 29973.441, 'text': "That's where it starts off with and the second time when this follow-up is running.", 'start': 29970.538, 'duration': 2.903}, {'end': 29975.323, 'text': 'I will be reading row number two.', 'start': 29973.641, 'duration': 1.682}, {'end': 29984.608, 'text': 'and column number one, because if you go back to my Excel, the column number is the same and the row number is what changes so 1, 1, 2, 1, 3, 1, 4, 1,', 'start': 29976.059, 'duration': 8.549}, {'end': 29986.426, 'text': '5, 1, 6, 1, 7, 1..', 'start': 29984.608, 'duration': 1.818}], 'summary': 'The for loop reads row 1, column 1, then increments the row number by 1 for each subsequent iteration.', 'duration': 25.498, 'max_score': 29960.928, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw29960928.jpg'}, {'end': 30177.854, 'src': 'embed', 'start': 30149.171, 'weight': 3, 'content': [{'end': 30153.074, 'text': 'And then finally have one method for closed browser, which would just end my browser instance.', 'start': 30149.171, 'duration': 3.903}, {'end': 30159.548, 'text': 'So each of these are separate methods and each of those methods would be called via a for loop over here.', 'start': 30153.763, 'duration': 5.785}, {'end': 30165.852, 'text': 'So, the first time the for loop executes, it would check if it is equal to this open browser.', 'start': 30159.908, 'duration': 5.944}, {'end': 30171.757, 'text': 'if it matches, then the open methods or open browser, this method would be executed and called.', 'start': 30165.852, 'duration': 5.905}, {'end': 30177.854, 'text': 'and the second time, when the for loop is being executed, it would technically be reading this cell right?', 'start': 30172.432, 'duration': 5.422}], 'summary': 'Creating methods for opening and closing browser instances, to be called via a for loop.', 'duration': 28.683, 'max_score': 30149.171, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw30149171.jpg'}, {'end': 30392.446, 'src': 'embed', 'start': 30365.703, 'weight': 4, 'content': [{'end': 30369.026, 'text': 'If you guys have not understood this then this wait up till I bring up my Eclipse.', 'start': 30365.703, 'duration': 3.323}, {'end': 30369.707, 'text': 'Okay over there.', 'start': 30369.186, 'duration': 0.521}, {'end': 30370.727, 'text': "I'll explain it better.", 'start': 30369.727, 'duration': 1}, {'end': 30376.212, 'text': 'But before that I just want to tell you that to achieve this I have used a Java Reflection class.', 'start': 30371.148, 'duration': 5.064}, {'end': 30382.457, 'text': 'So a Java Reflection class is used to import your methods in one class onto another class.', 'start': 30376.853, 'duration': 5.604}, {'end': 30390.765, 'text': 'So I have a class 1, which is my main class, and if I want to import the methods which are there in class 2 onto my class 1,', 'start': 30383.198, 'duration': 7.567}, {'end': 30392.446, 'text': 'then I can use the Java Reflection class.', 'start': 30390.765, 'duration': 1.681}], 'summary': 'Java reflection class used to import methods from one class to another.', 'duration': 26.743, 'max_score': 30365.703, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw30365703.jpg'}, {'end': 30945.929, 'src': 'embed', 'start': 30917.612, 'weight': 0, 'content': [{'end': 30921.814, 'text': 'Cucumber is one of the most popular tools because of the following reasons.', 'start': 30917.612, 'duration': 4.202}, {'end': 30926.194, 'text': 'first one, Cucumber is open source and hence it is free to use.', 'start': 30921.814, 'duration': 4.38}, {'end': 30934.08, 'text': 'but Cucumber, you can write your test scripts in multiple languages, like Java, Ruby C, sharp dotnet and Python,', 'start': 30926.194, 'duration': 7.886}, {'end': 30941.565, 'text': 'and Cucumber easily integrates with selenium, Ruby on Rails, wait, IR and other web-based testing tools,', 'start': 30934.08, 'duration': 7.485}, {'end': 30945.929, 'text': 'and it is also one of the most widely used behavior-driven development tools.', 'start': 30941.565, 'duration': 4.364}], 'summary': 'Cucumber is popular as an open-source tool, supporting multiple languages and integrating with various web-based testing tools.', 'duration': 28.317, 'max_score': 30917.612, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw30917612.jpg'}, {'end': 30987.679, 'src': 'embed', 'start': 30965.668, 'weight': 2, 'content': [{'end': 30974.494, 'text': 'with this approach, the non-technical team members find it easy to understand the flow and collaborate more in the process of software development.', 'start': 30965.668, 'duration': 8.826}, {'end': 30977.797, 'text': "So let's understand this with the help of a simple example.", 'start': 30975.115, 'duration': 2.682}, {'end': 30987.679, 'text': 'Consider a scenario where you want to test Twitter website one of the test scenarios will be to verify the login credentials with BDD.', 'start': 30978.604, 'duration': 9.075}], 'summary': 'Non-tech team finds it easy to understand flow for software development.', 'duration': 22.011, 'max_score': 30965.668, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw30965668.jpg'}], 'start': 29894.597, 'title': 'Implementing hybrid driven framework', 'summary': 'Details executing for loop in reading excel columns seven times to read specific cell data and explains the logic behind keyword driven testing, demonstrating the implementation of a keyword driven framework and briefly introducing the hybrid framework, emphasizing the combination of data-driven and keyword-driven techniques. it also discusses implementing a hybrid driven framework using java and selenium, involving creating and invoking class methods, working with excel files, and testing web application functionality, resulting in a successful test execution with no errors.', 'chapters': [{'end': 30013.881, 'start': 29894.597, 'title': 'Executing for loop in reading excel columns', 'summary': 'Details the process of using a for loop to read excel column contents, executing it seven times to read specific cell data by passing row and column numbers as parameters.', 'duration': 119.284, 'highlights': ['Using a for loop to read all Excel column contents and executing it seven times to read specific cell data, corresponding to the seven entries in the Excel sheet.', "Starting the execution from row one to exclude the header (row zero) and creating a new object 's actions' to read Excel data using the method 'get cell data'.", "Passing the row number and column number as parameters to the 'get cell data' method to read the specific cell contents, iterating through the rows and columns using the for loop."]}, {'end': 30515.122, 'start': 30014.739, 'title': 'Keyword driven testing logic', 'summary': 'Explains the logic behind keyword driven testing and demonstrates the implementation of a keyword driven framework, along with a brief introduction to the hybrid framework, emphasizing the combination of data-driven and keyword-driven techniques.', 'duration': 500.383, 'highlights': ["The chapter explains the process of navigating to a particular cell in an Excel sheet and obtaining the value using the method 'cell.getStringCellValue()', which is then utilized for executing specific methods based on the cell value, such as opening the browser, navigating to a URL, inputting username and password, clicking login, and verifying the page title, to perform keyword driven testing.", 'The speaker demonstrates the completion of the testing process, indicating the successful execution of the code and the test case pass verification by analyzing the page title, providing a practical demonstration of keyword driven testing in action.', 'The chapter introduces the concept of a hybrid framework, combining the features of both data-driven and keyword-driven frameworks, by utilizing a Java Reflection class to import methods from one class to another and implementing a technique to read method names from an external Excel file, showcasing an advanced testing framework approach.']}, {'end': 30987.679, 'start': 30515.916, 'title': 'Implementing hybrid driven framework', 'summary': 'Discusses the process of implementing a hybrid driven framework using java and selenium, involving creating and invoking class methods, working with excel files, and testing web application functionality, resulting in a successful test execution with no errors.', 'duration': 471.763, 'highlights': ["The process of creating an object of a class and using the method object to obtain the class and methods is explained, involving the key term 'get class dot get methods' and the storage of different methods in an array, with an example of seven methods resulting in a for loop running seven times.", 'The for loop iterates through the methods obtained, checking if the method name matches the actions stored in an Excel file, and executing the matching method, demonstrating the testing of web application functionality for each method executed.', 'A successful demonstration of the implemented hybrid driven framework is shown, involving the instantiation of a Chrome driver, login verification, and closing of the Chrome browser, resulting in a successful test with no errors.', 'An overview of the agenda for the session on Cucumber and Selenium is provided, covering topics such as behavior-driven development, prerequisites for using Cucumber, steps to create a Cucumber application, and the usefulness of Cucumber and Selenium in testing a website.']}], 'duration': 1093.082, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw29894597.jpg', 'highlights': ['Demonstrating keyword driven testing with successful test execution and pass verification.', 'Implementing a hybrid driven framework using Java and Selenium, involving creating and invoking class methods.', 'Using a for loop to read all Excel column contents and executing it seven times to read specific cell data.', 'Introducing the hybrid framework, emphasizing the combination of data-driven and keyword-driven techniques.', 'Navigating to a particular cell in an Excel sheet and obtaining the value for executing specific methods.', 'Creating an object of a class and using the method object to obtain the class and methods.', 'Overview of the agenda for the session on Cucumber and Selenium, covering behavior-driven development and Cucumber application creation.']}, {'end': 32212.121, 'segs': [{'end': 31075.02, 'src': 'embed', 'start': 31029.832, 'weight': 0, 'content': [{'end': 31036.336, 'text': 'and this is how you need to create a feature file and then write the scenarios and simple, plain English statements.', 'start': 31029.832, 'duration': 6.504}, {'end': 31040.6, 'text': "So it is very easy for you to understand right? There's no any much coding here.", 'start': 31036.836, 'duration': 3.764}, {'end': 31048.308, 'text': "Nothing It's just a simple English sentences, right? So this is all about BDD and this is how you need to write your feature file.", 'start': 31040.68, 'duration': 7.628}, {'end': 31051.391, 'text': 'I hope that you are clear with how to write BDD.', 'start': 31048.869, 'duration': 2.522}, {'end': 31054.935, 'text': 'I will be showing you more of such examples in the demo part.', 'start': 31051.832, 'duration': 3.103}, {'end': 31059.94, 'text': "Let's move further and understand why use cucumber with selenium.", 'start': 31056.156, 'duration': 3.784}, {'end': 31064.474, 'text': 'Most of the organizations use selenium for functional testing.', 'start': 31060.612, 'duration': 3.862}, {'end': 31069.977, 'text': 'these organizations, which are using selenium, want to integrate Cucumber with selenium,', 'start': 31064.474, 'duration': 5.503}, {'end': 31075.02, 'text': 'as Cucumber makes it easy to read and understand the application flow,', 'start': 31069.977, 'duration': 5.043}], 'summary': 'Bdd involves writing simple english scenarios in feature files. many organizations use cucumber with selenium for easy application flow understanding.', 'duration': 45.188, 'max_score': 31029.832, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw31029832.jpg'}, {'end': 31561.014, 'src': 'embed', 'start': 31535.457, 'weight': 1, 'content': [{'end': 31544.282, 'text': 'So when I run this program using cucumber feature, so you can see here that the feature was test Twitter,', 'start': 31535.457, 'duration': 8.825}, {'end': 31551.727, 'text': 'smoke scenario and then scenario was test the login with valid credentials, given whatever was there, when and then.', 'start': 31544.282, 'duration': 7.445}, {'end': 31555.509, 'text': 'so what it is telling one scenarios and one step.', 'start': 31551.727, 'duration': 3.782}, {'end': 31561.014, 'text': "but three are undefined and it's telling us you can implement the missing steps with the snippets below.", 'start': 31555.871, 'duration': 5.143}], 'summary': 'Cucumber test program found 1 scenario, 1 step, and 3 undefined steps.', 'duration': 25.557, 'max_score': 31535.457, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw31535457.jpg'}, {'end': 32102.636, 'src': 'embed', 'start': 32076.337, 'weight': 2, 'content': [{'end': 32080.623, 'text': 'So you can see Mozilla Firefox browser launched with the help of a gecko driver.', 'start': 32076.337, 'duration': 4.286}, {'end': 32083.387, 'text': "It's navigating through Twitter login.", 'start': 32081.084, 'duration': 2.303}, {'end': 32086.231, 'text': 'It entered the credentials and it hit on the login button.', 'start': 32083.767, 'duration': 2.464}, {'end': 32088.554, 'text': "Yes, and now let's check the output.", 'start': 32086.531, 'duration': 2.023}, {'end': 32094.674, 'text': 'So what it said the scenarios was one it passed there were three steps and even that passed.', 'start': 32089.312, 'duration': 5.362}, {'end': 32097.314, 'text': 'So what was the three steps?', 'start': 32095.194, 'duration': 2.12}, {'end': 32102.636, 'text': 'first, launch Mozilla Firefox browser and navigate through Twitter login page.', 'start': 32097.314, 'duration': 5.322}], 'summary': 'Mozilla firefox navigated twitter login using gecko driver.', 'duration': 26.299, 'max_score': 32076.337, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw32076337.jpg'}], 'start': 30987.819, 'title': 'Integrating cucumber and selenium', 'summary': "Explains the basics of behavior-driven development (bdd) and the integration of cucumber with selenium, emphasizing the simplicity of bdd in creating scenarios and its role in bridging the gap between different roles in an organization. it also covers the practical implementation of creating a cucumber example, integrating it with selenium for website testing, configuring necessary jar files and plugins for the setup, adding libraries such as junit and testng, creating feature files and step definitions, and setting up the test runner class for a cucumber project. additionally, it details the process of integrating cucumber with selenium, demonstrating the execution and verification of test cases on mozilla firefox browser, along with the integration of selenium's page object model.", 'chapters': [{'end': 31177.818, 'start': 30987.819, 'title': 'Bdd with cucumber and selenium', 'summary': 'Explains the basics of behavior-driven development (bdd) and the integration of cucumber with selenium, highlighting the benefits and prerequisites, and guiding on the steps to start using cucumber with selenium for testing. notably, it emphasizes the simplicity of bdd in creating scenarios and its role in bridging the gap between different roles in an organization.', 'duration': 189.999, 'highlights': ['The chapter emphasizes the simplicity of writing BDD scenarios in plain English, making it easy for understanding and devoid of extensive coding.', 'It highlights the benefits of integrating Cucumber with Selenium, stating that it eases the understanding of application flow and acts as a bridge between different roles in an organization.', 'The prerequisites for using Cucumber are outlined, including the need for selenium jar files, cucumber jar files, Java and Eclipse installation, and the addition of cucumber plug-in from the marketplace.', 'The steps to start using Cucumber with Selenium are detailed, including configuring the build path, creating feature files, writing runner class, adding step definitions, and running the code.']}, {'end': 31437.579, 'start': 31178.613, 'title': 'Selenium and cucumber integration', 'summary': 'Covers the practical implementation of creating a cucumber example, integrating it with selenium for website testing, and configuring necessary jar files and plugins for the setup.', 'duration': 258.966, 'highlights': ['The first step involves configuring Eclipse and Java, downloading the selenium standalone server, and obtaining the Java client for coding in Java or other language-specific clients.', 'Downloading necessary third-party drivers such as Mozilla Gecko driver and Google Chrome driver for running test cases in specific browsers.', 'Downloading the required jar files for Cucumber from the MVM repository and adding Cucumber plugins from Eclipse Marketplace to the project.', 'Creating a project, configuring the build path, and adding all the necessary jar files including JUnit, cucumber report, gherkin, hamcrest, and cucumber core.']}, {'end': 31741.367, 'start': 31438.36, 'title': 'Setting up cucumber and testng libraries', 'summary': 'Covers the process of adding libraries such as junit and testng, creating feature files and step definitions, and setting up the test runner class for a cucumber project.', 'duration': 303.007, 'highlights': ['The process of adding JUnit and TestNG libraries is explained, with the purpose of determining whether the test cases and scenarios passed or failed.', 'The steps for creating feature files and writing test cases, including a scenario for testing login functionality, are outlined.', 'The creation of step definitions and the runner class for executing the project is detailed, including the use of annotations and specifying feature files and step definitions.']}, {'end': 32212.121, 'start': 31742.048, 'title': 'Cucumber integration with selenium', 'summary': "Details the process of integrating cucumber with selenium, demonstrating the execution and verification of test cases on mozilla firefox browser, along with the integration of selenium's page object model.", 'duration': 470.073, 'highlights': ["The chapter explains the integration of Cucumber with Selenium, showcasing the execution and verification of test cases on Mozilla Firefox browser, and the usage of Selenium's page object model to manage web user interface elements and perform operations on them.", 'The chapter provides a step-by-step guide on configuring Cucumber with Selenium, including the addition of selenium standalone server and JUnit, creation of feature files, step definitions, and runner class, and illustrates the successful execution and verification of test cases on Mozilla Firefox browser.', 'The chapter emphasizes the simplicity of configuring Cucumber with Selenium, highlighting the use of English-like statements for defining test scenarios and the incorporation of gherkin jar file for execution, making the process straightforward and accessible for users.']}], 'duration': 1224.302, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw30987819.jpg', 'highlights': ['The chapter emphasizes the simplicity of writing BDD scenarios in plain English, making it easy for understanding and devoid of extensive coding.', 'The chapter provides a step-by-step guide on configuring Cucumber with Selenium, including the addition of selenium standalone server and JUnit, creation of feature files, step definitions, and runner class, and illustrates the successful execution and verification of test cases on Mozilla Firefox browser.', 'The process of adding JUnit and TestNG libraries is explained, with the purpose of determining whether the test cases and scenarios passed or failed.', 'The prerequisites for using Cucumber are outlined, including the need for selenium jar files, cucumber jar files, Java and Eclipse installation, and the addition of cucumber plug-in from the marketplace.']}, {'end': 35201.999, 'segs': [{'end': 32236.801, 'src': 'embed', 'start': 32212.121, 'weight': 3, 'content': [{'end': 32221.344, 'text': 'that is, it consists of a page class along with the test class and the test ng, that is, it consists of a page class along with the test case class.', 'start': 32212.121, 'duration': 9.223}, {'end': 32229.017, 'text': 'And one more important thing, locators and test scripts are stored separately in page object model.', 'start': 32222.293, 'duration': 6.724}, {'end': 32236.801, 'text': 'the tests then use the methods of this page object model class whenever they need to interact with the UI elements of that page,', 'start': 32229.017, 'duration': 7.784}], 'summary': 'Page class and test class are used in page object model for separate storage of locators and test scripts.', 'duration': 24.68, 'max_score': 32212.121, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw32212121.jpg'}, {'end': 32329.722, 'src': 'embed', 'start': 32301.746, 'weight': 0, 'content': [{'end': 32308.955, 'text': 'if there is a change in the web element, we need to make the change in just one class file and not the 10 different scripts,', 'start': 32301.746, 'duration': 7.209}, {'end': 32315.443, 'text': 'and this is achieved with the help of page object model, and that makes the code reusable, readable and maintainable.', 'start': 32308.955, 'duration': 6.488}, {'end': 32319.559, 'text': 'For example in home page of web application.', 'start': 32316.198, 'duration': 3.361}, {'end': 32323.7, 'text': 'We have menu bar which leads to different modules with different features,', 'start': 32319.579, 'duration': 4.121}, {'end': 32329.722, 'text': 'and many automation test cases would be clicking through these menu buttons to execute specific test.', 'start': 32323.7, 'duration': 6.022}], 'summary': 'Page object model reduces code duplication and maintenance effort by centralizing web element changes.', 'duration': 27.976, 'max_score': 32301.746, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw32301746.jpg'}, {'end': 32705.591, 'src': 'embed', 'start': 32672.752, 'weight': 2, 'content': [{'end': 32675.293, 'text': 'So inside the main method what I have done.', 'start': 32672.752, 'duration': 2.541}, {'end': 32678.354, 'text': 'I am using the driver to find element by ID.', 'start': 32675.893, 'duration': 2.461}, {'end': 32687.05, 'text': "That is my locator and I'm sending the keys as my detail that is email or your mobile number anything.", 'start': 32678.794, 'duration': 8.256}, {'end': 32691.125, 'text': 'So this is the value of my element that is ID.', 'start': 32688.004, 'duration': 3.121}, {'end': 32695.467, 'text': 'If you wish to know more about locators, you can check out our YouTube playlist,', 'start': 32691.645, 'duration': 3.822}, {'end': 32700.129, 'text': 'where you will be finding the videos for locators and selenium X path and many more,', 'start': 32695.467, 'duration': 4.662}, {'end': 32705.591, 'text': 'and then you can get thorough through the concepts and the same thing for password.', 'start': 32700.129, 'duration': 5.462}], 'summary': 'Using driver to find element by id and sending keys as details. check out youtube playlist for more on locators and selenium x path.', 'duration': 32.839, 'max_score': 32672.752, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw32672752.jpg'}, {'end': 33493.614, 'src': 'heatmap', 'start': 33066.46, 'weight': 0.876, 'content': [{'end': 33070.86, 'text': 'That is I want to click on the profile drop down and I want to hit the logout link.', 'start': 33066.46, 'duration': 4.4}, {'end': 33073.502, 'text': "So basically I'm performing five actions here.", 'start': 33071.36, 'duration': 2.142}, {'end': 33082.307, 'text': 'One is passing the variable or the value for my email ID and password and hit on the login button using the first login page and using the home page.', 'start': 33073.642, 'duration': 8.665}, {'end': 33085.468, 'text': "I'm clicking on the drop-down and click on the logout button.", 'start': 33082.447, 'duration': 3.021}, {'end': 33094.294, 'text': "Yes So now let's see how the page Factory took these elements that is the FB login page and the FB home page.", 'start': 33085.769, 'duration': 8.525}, {'end': 33098.067, 'text': "First, let's see FB login page dot Java.", 'start': 33095.046, 'duration': 3.021}, {'end': 33100.288, 'text': 'So this is not the test case.', 'start': 33098.167, 'duration': 2.121}, {'end': 33102.288, 'text': 'This is the pages that I have declared.', 'start': 33100.328, 'duration': 1.96}, {'end': 33109.752, 'text': "So I have declared a class of this and I've given the constructor, that is, this dot driver is equal to driver and, as I have told you,", 'start': 33102.788, 'duration': 6.964}, {'end': 33114.112, 'text': "I have to use the find by annotation and using the XPath, what I'm doing.", 'start': 33109.752, 'duration': 4.36}, {'end': 33116.014, 'text': "I'm locating on the email.", 'start': 33114.233, 'duration': 1.781}, {'end': 33120.572, 'text': 'and creating a web element called as text box again for password.', 'start': 33116.809, 'duration': 3.763}, {'end': 33127.814, 'text': 'This is the XPath for that and web element as password text box and for submit button that is a login.', 'start': 33120.811, 'duration': 7.003}, {'end': 33132.256, 'text': 'You can see that and the web element will be sign in button.', 'start': 33128.415, 'duration': 3.841}, {'end': 33138.459, 'text': 'and next for all these three elements, that is, email text box, password text box and sign in button.', 'start': 33132.256, 'duration': 6.203}, {'end': 33143.841, 'text': 'I am creating a method for that and just sending the keys as string email.', 'start': 33138.479, 'duration': 5.362}, {'end': 33155.167, 'text': 'So this string email will refer to the value that I have given in login test that is this one and again this password that is a set password.', 'start': 33144.521, 'duration': 10.646}, {'end': 33163.013, 'text': 'I am passing string password and password text box dot send keys will refer to the string password from the login test page.', 'start': 33155.487, 'duration': 7.526}, {'end': 33173.159, 'text': "Why? because I'm referring to the class file of the login page and that's the reason it will refer from there and it will hit on the login button and again that will also refer to this one.", 'start': 33163.093, 'duration': 10.066}, {'end': 33178.601, 'text': 'So basically what it is doing it is giving an action call to these elements.', 'start': 33173.815, 'duration': 4.786}, {'end': 33185.803, 'text': 'to refer to these email text box password text box and sign in button to perform an action on that.', 'start': 33179.341, 'duration': 6.462}, {'end': 33192.627, 'text': "Yes So that is how it works because I'm creating the pages as a different that is my class files.", 'start': 33186.084, 'duration': 6.543}, {'end': 33199.69, 'text': 'My locators everything will be in different package and my tests will be in different package so that you can reuse the code.', 'start': 33192.667, 'duration': 7.023}, {'end': 33207.653, 'text': 'It helps you to maintain the code readability and also it enhances the performance of a test automation framework.', 'start': 33199.949, 'duration': 7.704}, {'end': 33218.071, 'text': "So these three things refers to the Facebook login page where and I have initialize my locators and I'm declaring them and now you can see here.", 'start': 33208.746, 'duration': 9.325}, {'end': 33220.172, 'text': "There's something called as home page as well.", 'start': 33218.131, 'duration': 2.041}, {'end': 33221.993, 'text': 'And there is two more options.', 'start': 33220.512, 'duration': 1.481}, {'end': 33222.932, 'text': "I'm using the chat.", 'start': 33222.053, 'duration': 0.879}, {'end': 33229.436, 'text': "Sleep for 4 milliseconds because I want to wait until the next action is performed and see what's happening actually,", 'start': 33223.173, 'duration': 6.263}, {'end': 33230.977, 'text': "and that's the reason I'm giving the chat.", 'start': 33229.436, 'duration': 1.541}, {'end': 33233.218, 'text': 'Sleep as 4000 that is a 4 milliseconds.', 'start': 33230.997, 'duration': 2.221}, {'end': 33235.9, 'text': 'So here I have the FB home page.', 'start': 33233.819, 'duration': 2.081}, {'end': 33244.396, 'text': "In this, I'm using the find by notation to find the locators by X path, and this is the X path to click on the account settings.", 'start': 33236.909, 'duration': 7.487}, {'end': 33248, 'text': "that is a drop-down and using the link text, what I'm doing.", 'start': 33244.396, 'duration': 3.604}, {'end': 33258.89, 'text': "I'm again using the link text pleasant on logout and the web element will be logout link for this logout locator and the web element will be profile drop-down for the account settings.", 'start': 33248.08, 'duration': 10.81}, {'end': 33261.413, 'text': "and again what I'm doing, as both are links.", 'start': 33258.89, 'duration': 2.523}, {'end': 33267.385, 'text': "I'm just clicking on the profile drop-down link and the logout link as well, and again in the FB login test.", 'start': 33261.853, 'duration': 5.532}, {'end': 33272.875, 'text': 'These things are the call to action from this FB home page.', 'start': 33267.826, 'duration': 5.049}, {'end': 33280.555, 'text': 'So this is all about how you can actually write the test case classes in different file and the pages,', 'start': 33273.672, 'duration': 6.883}, {'end': 33283.798, 'text': 'or your test scripts regarding your locators and everything in the different file.', 'start': 33280.555, 'duration': 3.243}, {'end': 33292.923, 'text': 'So now what I will do the name of my file will be page object model project and the class name will be the test base because inside my test base.', 'start': 33284.218, 'duration': 8.705}, {'end': 33297.746, 'text': 'I have the before suit and after suit annotation where I have to execute and in FB login test.', 'start': 33292.963, 'duration': 4.783}, {'end': 33301.307, 'text': 'There is a attest annotation in which I have to perform all these actions.', 'start': 33298.186, 'duration': 3.121}, {'end': 33307.213, 'text': "So now let's run and check the working of that and the output as well.", 'start': 33302.569, 'duration': 4.644}, {'end': 33315.619, 'text': 'So first SNG detected the version and Chrome driver launched Google Chrome navigated through facebook.com.', 'start': 33308.133, 'duration': 7.486}, {'end': 33319.841, 'text': "It's entering the email address password hit on the login button.", 'start': 33316.078, 'duration': 3.763}, {'end': 33325.786, 'text': 'And now what it will do it will click on the profile drop down and hit the logout button.', 'start': 33320.442, 'duration': 5.344}, {'end': 33330.53, 'text': 'So you can see that it took a time of 4 milliseconds.', 'start': 33326.607, 'duration': 3.923}, {'end': 33334.684, 'text': 'and finally what it did it just quit the window,', 'start': 33331.383, 'duration': 3.301}, {'end': 33341.247, 'text': 'because in the after suit I have declared that you have to quit the driver so you can see inside the suit.', 'start': 33334.684, 'duration': 6.563}, {'end': 33347.049, 'text': 'the total test that was run was one and there was no failures, and there were no skips as well.', 'start': 33341.247, 'duration': 5.802}, {'end': 33353.951, 'text': 'So you saw that it took a gap of four milliseconds between the actions to perform,', 'start': 33347.608, 'duration': 6.343}, {'end': 33359.413, 'text': 'because I have declared it in order to exactly know what actually was happening with the test cases.', 'start': 33353.951, 'duration': 5.462}, {'end': 33367.769, 'text': "and how I also wanted to show you how the actual flow work and that's a reason I gave a thread or sleep as 4 milliseconds.", 'start': 33360.14, 'duration': 7.629}, {'end': 33377.741, 'text': 'This is how you need to create a separate packages for test case classes and the script classes and finally you have to write a test ng dot XML file.', 'start': 33368.67, 'duration': 9.071}, {'end': 33384.045, 'text': 'So, basically, this is all about the page object, model, design pattern, where you will be having the pages, that is,', 'start': 33378.578, 'duration': 5.467}, {'end': 33386.067, 'text': 'every login page and FB home page,', 'start': 33384.045, 'duration': 2.022}, {'end': 33394.436, 'text': 'and you will be having the test where these two will be interlinked and the home page and FB login page will be having a test case month and in the test base.', 'start': 33386.067, 'duration': 8.369}, {'end': 33400.242, 'text': 'This will refer to this by because it has to take the ad test suit from the FB login test.', 'start': 33394.756, 'duration': 5.486}, {'end': 33409.593, 'text': 'Okay, and this test base will refer to FB login test, because test base contains only at before suit and at after suit and there is no at test,', 'start': 33401.182, 'duration': 8.411}, {'end': 33410.875, 'text': 'and this will refer to this class.', 'start': 33409.593, 'duration': 1.282}, {'end': 33415.218, 'text': 'So this is all about how you can define a page object model design pattern.', 'start': 33410.896, 'duration': 4.322}, {'end': 33427.65, 'text': 'Is evolving towards big data database plays a major role in handling the records and maintaining the sequence of it.', 'start': 33420.604, 'duration': 7.046}, {'end': 33432.333, 'text': 'In order to ensure that there are no defects while processing the data.', 'start': 33428.29, 'duration': 4.043}, {'end': 33439.457, 'text': 'database testing is essential, and selenium is one such tool which helps you in providing with the functionalities to test the database.', 'start': 33432.333, 'duration': 7.124}, {'end': 33443.898, 'text': "Let's have a look at the agenda for the session first.", 'start': 33440.536, 'duration': 3.362}, {'end': 33452.684, 'text': 'I will tell you what is Java database connectivity as you all might know that the very first step is the database connection next.', 'start': 33444.419, 'duration': 8.265}, {'end': 33457.125, 'text': 'I will talk about the steps involved to create a gdbc application.', 'start': 33453.104, 'duration': 4.021}, {'end': 33464.634, 'text': 'And finally I will wrap up the session by telling how to perform database testing using selenium with the help of a demo.', 'start': 33457.93, 'duration': 6.704}, {'end': 33469.597, 'text': 'I hope you found agenda interesting now without wasting any further time.', 'start': 33465.154, 'duration': 4.443}, {'end': 33471.538, 'text': "Let's get straight into the module.", 'start': 33469.957, 'duration': 1.581}, {'end': 33477.121, 'text': "Let's first understand what is JDBC that this Java database connectivity.", 'start': 33472.017, 'duration': 5.104}, {'end': 33486.186, 'text': 'It is one of the standard Java API for database independent connectivity between the Java programming language and a wide range of databases.', 'start': 33477.661, 'duration': 8.525}, {'end': 33493.614, 'text': 'This application programming interface lets you encode the access request statements and structured query language.', 'start': 33487.049, 'duration': 6.565}], 'summary': 'Test case involves 5 actions, using page object model to enhance code readability and performance in test automation framework.', 'duration': 427.154, 'max_score': 33066.46, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw33066460.jpg'}], 'start': 32212.121, 'title': 'Benefits of page object model', 'summary': 'Explains the benefits of using the page object model (pom) for automation testing, highlighting reduction in maintenance efforts and the ability to increase test coverage by managing locators and test scripts separately, emphasizing separation of tests and element locators, independence of the page object repository, integration with various frameworks, optimization of test cases, and practical examples of implementation, along with coverage of jdbc and database testing with selenium, and steps to create a jdbc application with selenium integration.', 'chapters': [{'end': 32369.001, 'start': 32212.121, 'title': 'Benefits of page object model', 'summary': 'Explains the benefits of using the page object model (pom) for automation testing, highlighting the reduction in maintenance efforts and the ability to increase test coverage by managing locators and test scripts separately.', 'duration': 156.88, 'highlights': ['The page object model allows for the separation of locators and test scripts, reducing the need to change multiple test scripts if there are changes in UI elements, leading to time savings and increased maintainability.', 'By using the page object model, changes in UI elements only require modifications in one class file, making the code reusable and maintainable, thus saving time and effort in updating locators across multiple test scripts.', 'Increasing automation test coverage can result in unmaintainable project structure if locators are not managed in the right way, leading to duplicated usage and duplication of code. This can be addressed by implementing the page object model.', 'The chief problem with script maintenance relates to the time-consuming and error-prone nature of updating locators across multiple test scripts, which can be mitigated by utilizing the page object model for managing web elements and their interactions.']}, {'end': 33053.216, 'start': 32369.719, 'title': 'Page object model and page factory', 'summary': 'Explains the benefits of the page object model, emphasizing the separation of tests and element locators, the independence of the page object repository, integration with various frameworks, and the optimization of test cases. it also delves into the implementation of page factory, demonstrating the comparison between using and not using it, and concludes with practical examples of implementing a simple page object model and utilizing page factory.', 'duration': 683.497, 'highlights': ['The page object model emphasizes the separation of tests and element locators, keeping the code clean and easy to understand, leading to a more durable and comprehensive automation framework.', 'The page object repository is independent of the automation test, allowing its integration with various frameworks like JUnit, PHPUnit, NUnit, TestNG, and Cucumber, contributing to shorter and optimized test cases through the reuse of page object methods.', 'The page object model is best applicable for applications with multiple pages, each containing uniquely referenced fields, making it unique and easy to work with for automation testers.', 'Page Factory, an inbuilt concept for Selenium WebDriver, enables the use of annotations like @FindBy to find web elements and initialize them, providing an optimized approach for implementing the page object model.', 'The chapter demonstrates the comparison between implementing page object model with and without page Factory, showcasing the differences in usage and performance.', 'Practical examples of implementing a simple page object model without page Factory and utilizing page Factory for a test project are provided, allowing for a clear understanding of the differences between the two approaches.']}, {'end': 33400.242, 'start': 33053.296, 'title': 'Page object model', 'summary': 'Discusses the implementation of the page object model design pattern in test automation, involving the creation of separate packages for test case classes and script classes, utilizing 4 milliseconds of sleep time between actions for better test case understanding, and achieving code reusability and enhanced performance.', 'duration': 346.946, 'highlights': ['Implementation of Page Object Model design pattern involves creating separate packages for test case classes and script classes to maintain code readability and enhance the performance of the test automation framework.', 'Utilizing 4 milliseconds of sleep time between actions in the test case classes to understand the test cases better and observe the actual flow of the actions being performed.', 'The FB login page and FB home page are utilized as the pages, and the test base refers to these for executing the ad test suit from the FB login test.']}, {'end': 33916.535, 'start': 33401.182, 'title': 'Jdbc and database testing with selenium', 'summary': 'Discusses java database connectivity (jdbc) and database testing using selenium, covering topics such as jdbc components, sql commands for database manipulation, and steps to create a jdbc application.', 'duration': 515.353, 'highlights': ['The Java Database Connectivity (JDBC) is a standard Java API for database independent connectivity, enabling access to a wide range of databases.', 'Database testing is essential for ensuring no defects while processing data, and Selenium provides functionalities to test databases.', 'JDBC comprises components like driver manager, driver, and connection, which are crucial for managing database drivers and establishing database connections.', 'SQL commands for database manipulation include creating and dropping databases, creating and dropping tables, and inserting and selecting records.', 'Steps to create a JDBC application involve importing packages containing JDBC classes, registering the driver and opening a connection, executing the query, and extracting data from the result set.']}, {'end': 35201.999, 'start': 33916.535, 'title': 'Creating a jdbc application with selenium integration', 'summary': 'Details the steps to create a jdbc application, including connecting to a database, registering the jdbc driver, executing queries, retrieving results, and cleaning up the environment. it also discusses performing database testing using selenium, integrating selenium with testng, and using jenkins for continuous testing in the devops lifecycle.', 'duration': 1285.464, 'highlights': ['The chapter details the steps to create a JDBC application, including connecting to a database, registering the JDBC driver, executing queries, retrieving results, and cleaning up the environment. It also discusses performing database testing using Selenium, integrating Selenium with TestNG, and using Jenkins for continuous testing in the DevOps lifecycle.', 'The JDBC application involves connecting to a database with credentials, registering the JDBC driver, opening the connection, executing a query, retrieving the result, and cleaning up the environment by closing result sets, statement objects, and connection objects.', "The process of performing database testing using Selenium involves integrating Selenium with TestNG, using annotations such as '@BeforeTest' and '@Test', setting up the database connection, executing queries, and closing the database connection.", 'The session also covers using Selenium and Jenkins together for continuous testing in the DevOps lifecycle, where Selenium is used to create test cases, TestNG is used for automated testing and generating reports, and Jenkins is used to automatically schedule and run tests, and send email notifications for failed test cases.', 'Selenium is discussed as an open-source tool that automates web browser tests, providing support for programming languages, web browser, and operating system, making it widely adopted for automating test scripts in the DevOps lifecycle. DevOps is explained as a software development approach involving continuous development, testing, integration, deployment, and monitoring, addressing the limitations of agile development by combining development and operations with continuous monitoring and bug fixes.', 'The chapter also highlights the role of Selenium, TestNG, and Jenkins in achieving continuous testing in the DevOps lifecycle, emphasizing the creation of test cases with Selenium, conversion to testng.xml files, and execution through Jenkins to achieve continuous testing.']}], 'duration': 2989.878, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw32212121.jpg', 'highlights': ['The page object model allows for the separation of locators and test scripts, reducing the need to change multiple test scripts if there are changes in UI elements, leading to time savings and increased maintainability.', 'The page object model emphasizes the separation of tests and element locators, keeping the code clean and easy to understand, leading to a more durable and comprehensive automation framework.', 'The page object repository is independent of the automation test, allowing its integration with various frameworks like JUnit, PHPUnit, NUnit, TestNG, and Cucumber, contributing to shorter and optimized test cases through the reuse of page object methods.', 'The Java Database Connectivity (JDBC) is a standard Java API for database independent connectivity, enabling access to a wide range of databases.', 'The chapter details the steps to create a JDBC application, including connecting to a database, registering the JDBC driver, executing queries, retrieving results, and cleaning up the environment. It also discusses performing database testing using Selenium, integrating Selenium with TestNG, and using Jenkins for continuous testing in the DevOps lifecycle.']}, {'end': 37215.296, 'segs': [{'end': 35820.753, 'src': 'embed', 'start': 35791.934, 'weight': 1, 'content': [{'end': 35794.916, 'text': 'which is printed and And it says passed Jenkins test.', 'start': 35791.934, 'duration': 2.982}, {'end': 35800.619, 'text': 'Okay So the Jenkins says that you see here, this is the name of the method of my, uh, in my code.', 'start': 35795.797, 'duration': 4.822}, {'end': 35806.202, 'text': 'Okay Now, as you can see here, I have a method that is a Jenkins test.', 'start': 35801.16, 'duration': 5.042}, {'end': 35809.344, 'text': "And I've annotated this method with add the rate test.", 'start': 35806.703, 'duration': 2.641}, {'end': 35818.229, 'text': 'Now, whenever you annotate your method with this method or any method with add rate test, it would indirectly convert it into a test energy test.', 'start': 35809.824, 'duration': 8.405}, {'end': 35820.753, 'text': "Okay, so that's the indication.", 'start': 35819.372, 'duration': 1.381}], 'summary': 'The method is annotated with @test, converting it into an energy test.', 'duration': 28.819, 'max_score': 35791.934, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw35791934.jpg'}, {'end': 36488.238, 'src': 'embed', 'start': 36447.749, 'weight': 0, 'content': [{'end': 36449.73, 'text': 'so you have to check on this checkbox here.', 'start': 36447.749, 'duration': 1.981}, {'end': 36452.792, 'text': 'use custom workspace and feed the path where your.', 'start': 36449.73, 'duration': 3.062}, {'end': 36456.355, 'text': 'uh, where jenkins has to look for the executable file.', 'start': 36452.792, 'duration': 3.563}, {'end': 36461.318, 'text': 'so my executable file this is uh, which is file command is in this directory.', 'start': 36456.355, 'duration': 4.963}, {'end': 36464.966, 'text': "so i'm going to copy this path, Go back to Jenkins and paste it right here.", 'start': 36461.318, 'duration': 3.648}, {'end': 36467.347, 'text': "And, uh, I'm going to apply.", 'start': 36465.886, 'duration': 1.461}, {'end': 36468.368, 'text': 'All right.', 'start': 36468.088, 'duration': 0.28}, {'end': 36469.268, 'text': "I'm going to save that.", 'start': 36468.388, 'duration': 0.88}, {'end': 36478.413, 'text': 'And the next thing that we got to do is we have to come to build triggers, but the build triggers here is for scheduling your, uh, jobs.', 'start': 36470.229, 'duration': 8.184}, {'end': 36479.914, 'text': 'And this is something a little complicated.', 'start': 36478.693, 'duration': 1.221}, {'end': 36482.715, 'text': "So I'll come to the, I'll talk about the other steps and then come back to this.", 'start': 36479.934, 'duration': 2.781}, {'end': 36488.238, 'text': 'Okay So after setting your path over there, quickly go to build and click on add build step.', 'start': 36483.076, 'duration': 5.162}], 'summary': 'Configure jenkins workspace, set path for executable file, and add build step.', 'duration': 40.489, 'max_score': 36447.749, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw36447749.jpg'}, {'end': 36949.832, 'src': 'embed', 'start': 36906.508, 'weight': 2, 'content': [{'end': 36915.37, 'text': 'He told me that the step that was needed to achieve continuous testing was that of scheduling these jobs at specified time intervals.', 'start': 36906.508, 'duration': 8.862}, {'end': 36917.471, 'text': 'And he was the only one that said that.', 'start': 36916.211, 'duration': 1.26}, {'end': 36924.928, 'text': "so, uh, yeah, now, now that we've seen our output here, and now that we've seen that we, this is how we get our.", 'start': 36918.126, 'duration': 6.802}, {'end': 36926.808, 'text': 'uh, you know, this is how we get the results.', 'start': 36924.928, 'duration': 1.88}, {'end': 36929.269, 'text': "let's see how we can schedule test cases using Jenkins.", 'start': 36926.808, 'duration': 2.461}, {'end': 36933.73, 'text': 'okay, now, for that, we have to again go to our project and go to configure.', 'start': 36929.269, 'duration': 4.461}, {'end': 36937.271, 'text': 'okay, so, under configure, we need to come down where we need to.', 'start': 36933.73, 'duration': 3.541}, {'end': 36939.871, 'text': 'uh, you know, i told you earlier that we need to come to build triggers.', 'start': 36937.271, 'duration': 2.6}, {'end': 36943.872, 'text': "right. so, under build triggers, we've got to check on this text box of built periodically.", 'start': 36939.871, 'duration': 4.001}, {'end': 36949.832, 'text': 'so when you check on this, you can specify your time format in cron, in cron format.', 'start': 36943.872, 'duration': 5.96}], 'summary': 'Continuous testing achieved by scheduling jobs in jenkins at specified intervals.', 'duration': 43.324, 'max_score': 36906.508, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw36906508.jpg'}], 'start': 35202.879, 'title': 'Jenkins and selenium for test automation', 'summary': 'Discusses the role of jenkins in test automation, covering creating and scheduling jenkins jobs, building test cases with selenium and testng, executing selenium test cases, and setting up email notification in jenkins, comprising a total of five important steps.', 'chapters': [{'end': 35345.424, 'start': 35202.879, 'title': 'Jenkins for test automation', 'summary': 'Explains the role of jenkins in achieving test automation through windows batch files, xml files, and scheduling jobs with email notifications, comprising five important steps.', 'duration': 142.545, 'highlights': ['Jenkins executes files with command prompt, requiring creation of an executable XML file and a Windows batch file for automation.', 'Windows batch file contains a set of commands and facilitates automatic execution of commands in the command prompt, enabling test automation.', 'Test automation can be achieved with the help of Jenkins by scheduling jobs to be built at certain times during the day and configuring email notifications for test case results.', 'Email notifications are used to alert about test case failures and successful rebuilds, indicating major flaws in the code and the importance of continuous testing.', 'The demonstration shows how to create a test case on Selenium, write on Eclipse IDE, and convert it into a TestNG XML file for test automation.']}, {'end': 35680.25, 'start': 35345.424, 'title': 'Selenium jenkins job and test cases', 'summary': 'Covers creating and scheduling jenkins jobs, building test cases with selenium and testng, and executing them, including setting up webdriver for different browsers, navigating and performing operations on amazon.in and facebook.com, explaining implicit and explicit waits, and locating elements using different locator techniques.', 'duration': 334.826, 'highlights': ['The chapter covers creating and scheduling Jenkins jobs, building test cases with Selenium and TestNG, and executing them.', 'Setting up WebDriver for different browsers, including the command to indicate WebDriver to run tests on Chrome, and using GeckoDriver for Mozilla Firefox.', 'Explaining implicit and explicit waits, with implicit wait of five seconds and the difference between the two.', 'Performing operations on Amazon.in, including locating the search box and performing a search for Nike shoes, navigating to the results page and fetching the page title.', 'Performing operations on Facebook.com, including locating the email ID field and password field, sending keys, and locating the login button.']}, {'end': 36234.539, 'start': 35680.25, 'title': 'Automating test execution with selenium', 'summary': 'Covers setting up and executing a selenium test case, including specifying implicit wait time, navigating through web pages, handling login failures, and generating testng xml file for executing the test from the command line, with a demonstration of executing the test through jenkins.', 'duration': 554.289, 'highlights': ['Setting implicit wait time of 60 seconds due to longer login time and potential login failure.', 'Executing Selenium test case for Amazon.in and navigating to facebook.com with login handling.', 'Generating TestNG XML file for executing the test from the command line and demonstrating the execution through Jenkins.', 'Explanation of specifying class path and dependencies while executing the test from the command prompt.']}, {'end': 36617.472, 'start': 36236.22, 'title': 'Setting up jenkins for automated testing', 'summary': 'Describes setting up a windows batch file to be executed through jenkins, configuring the jenkins project to execute the batch file, and enabling email notifications for continuous testing.', 'duration': 381.252, 'highlights': ['Creating a Windows batch file to execute the command through Jenkins, ensuring the successful execution of the same steps as in the command prompt.', 'Configuring the Jenkins project to execute the batch file by setting the custom workspace path and adding a build step to execute the batch command.', 'Enabling email notifications for continuous testing by setting up SMTP to gmail.com in the Jenkins dashboard and specifying recipients for email notifications.']}, {'end': 37215.296, 'start': 36617.512, 'title': 'Setting up email notification in jenkins', 'summary': 'Details the process of setting up email notification in jenkins, including configuring the smtp server, enabling smtp authentication, specifying the smtp port number, testing the email configuration, and scheduling test cases using jenkins.', 'duration': 597.784, 'highlights': ['Setting up email notification in Jenkins involves configuring the SMTP server, such as smtp.gmail.com for Gmail, specifying the SMTP port number (default 465), and setting up SMTP authentication by entering the username and password, and enabling SSL.', 'The chapter emphasizes the importance of testing the email configuration in Jenkins, as it ensures the successful delivery of email notifications, with the demonstration of sending a test email and verifying its receipt.', 'Explaining the scheduling of test cases using Jenkins, the chapter provides insights into configuring build triggers with built periodically option in cron format, allowing users to specify the time intervals for job execution and demonstrating a sample cron rule for scheduling.', 'The chapter discusses the concept of a headless server in Jenkins, highlighting the use of HTML unit driver for achieving headless server via Eclipse or command prompt, and the significance of avoiding overhead on the Jenkins web server to prevent server crashes.', 'The transcript provides an overview of Jenkins as a tool for complete automation in the execution of test cases, eliminating manual effort and enabling the scheduling of test cases at specified time intervals for efficient continuous testing.']}], 'duration': 2012.417, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw35202879.jpg', 'highlights': ['Jenkins enables test automation by scheduling jobs and configuring email notifications.', 'Creating a Windows batch file for automation in Jenkins ensures automatic execution.', 'Setting up email notification in Jenkins involves configuring SMTP server and enabling SSL.', 'Demonstration includes creating a test case on Selenium and converting it into a TestNG XML file.', 'Configuring build triggers with built periodically option in cron format allows scheduling of test cases.']}, {'end': 38623.273, 'segs': [{'end': 38317.121, 'src': 'embed', 'start': 38288.273, 'weight': 2, 'content': [{'end': 38290.835, 'text': 'Why is it so important to have the certification course?', 'start': 38288.273, 'duration': 2.562}, {'end': 38302.19, 'text': "Master's program is a structured learning path which is recommended by almost all leading industry experts and it ensures to make you a proficient in automation testing domain.", 'start': 38291.562, 'duration': 10.628}, {'end': 38309.235, 'text': "You'll have five instructor-led courses, which is software testing, fundamental course, selenium certification course,", 'start': 38302.75, 'duration': 6.485}, {'end': 38311.477, 'text': 'continuous testing and performance testing.', 'start': 38309.235, 'duration': 2.242}, {'end': 38314.419, 'text': 'So these are some live instructor-led courses.', 'start': 38312.037, 'duration': 2.382}, {'end': 38317.121, 'text': "So you'll be dealing with a capstone project, guys.", 'start': 38314.839, 'duration': 2.282}], 'summary': 'Certification course ensures proficiency in automation testing with 5 instructor-led courses and a capstone project.', 'duration': 28.848, 'max_score': 38288.273, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw38288273.jpg'}, {'end': 38432.199, 'src': 'embed', 'start': 38399.893, 'weight': 0, 'content': [{'end': 38406.077, 'text': 'Software teams have to even work with their partners to make their product more resilient to threats,', 'start': 38399.893, 'duration': 6.184}, {'end': 38408.958, 'text': 'taking the cyber security shield to the next level.', 'start': 38406.077, 'duration': 2.881}, {'end': 38417.103, 'text': 'So why is cyber security important over the past year the worldwide spread for cyber security continues to grow.', 'start': 38409.719, 'duration': 7.384}, {'end': 38432.199, 'text': 'There is 71.1 billion threads in 2014 that is 7.9% more than the previous year and also it is expected to reach around 200 billion by 2020.', 'start': 38417.648, 'duration': 14.551}], 'summary': 'Cyber security is crucial with 71.1 billion threats in 2014, expected to reach 200 billion by 2020.', 'duration': 32.306, 'max_score': 38399.893, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw38399893.jpg'}, {'end': 38545.858, 'src': 'embed', 'start': 38494.75, 'weight': 1, 'content': [{'end': 38500.654, 'text': 'So I OD fully relies on the software to, but the rate at which I OD is increasing.', 'start': 38494.75, 'duration': 5.904}, {'end': 38507.158, 'text': 'the quality assurance team needs to expand its knowledge concerning the performance, usability and security.', 'start': 38500.654, 'duration': 6.504}, {'end': 38515.98, 'text': 'Also according to a recent report by Gartner the number of iota devices all around the world will reach up to 20.', 'start': 38507.933, 'duration': 8.047}, {'end': 38519.383, 'text': '5 billion by 2020, that is, this year.', 'start': 38515.98, 'duration': 3.403}, {'end': 38529.311, 'text': 'these iot devices must undergo iot testing for security assurance, trustworthiness, ease of use, compatibility of device versions and protocols.', 'start': 38519.383, 'duration': 9.928}, {'end': 38535.306, 'text': 'IoT testing engineers have to deal with an overwhelming amount of work in this area,', 'start': 38530.14, 'duration': 5.166}, {'end': 38540.572, 'text': 'especially in monitoring communication protocols and operating systems.', 'start': 38535.306, 'duration': 5.266}, {'end': 38545.858, 'text': 'also, another challenge for the IOT testers in the upcoming years lies in their strategy.', 'start': 38540.572, 'duration': 5.286}], 'summary': 'Iot devices to reach 20.5 billion by 2020, posing testing challenges.', 'duration': 51.108, 'max_score': 38494.75, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw38494750.jpg'}], 'start': 37215.296, 'title': 'Automation testing: role, career prospects, skills & trends', 'summary': 'Discusses the role and importance of automation testing, career prospects, and salary trends with a global market size of 28.8 billion dollars by 2024 and an average annual salary of $90,000 in the us. it also covers the required skills and the top automation testing trends of 2020, including cyber security, iot testing, and big data testing.', 'chapters': [{'end': 37490.309, 'start': 37215.296, 'title': 'Automation testing: role & importance', 'summary': 'Discussed the process of triggering email notifications for failed builds in jenkins, demonstrated through a practical example, and emphasized the significance of automation testing, highlighting the growing demand and the role of an automation tester in creating defect-free applications.', 'duration': 275.013, 'highlights': ['The role of an automation tester includes designing, programming, simulating, and deploying effective test automation solutions, with the objective to automate as much testing as possible with minimal code or script.', 'Automation testing helps in reducing the time consumed to perform tedious tasks and relies on pre-scripted tests to compare actual results with expected results, ensuring defect-free applications.', 'The demonstration in the transcript shows the practical process of triggering email notifications for failed builds in Jenkins, requiring a manual failure of a script to initiate the notification, and validating the email notification for the failed build.', 'The chapter emphasized the growing demand for automation testing due to its ability to allow testers to undertake additional tasks while automation performs predefined tasks, thus reducing human effort.']}, {'end': 37924.326, 'start': 37490.309, 'title': 'Automation testing: career prospects and salary trends', 'summary': 'Discusses the increasing demand for automation testing, citing the global market size of 28.8 billion dollars by 2024 with a compound annual growth rate of 18%. it also highlights the average annual salary of a test automation engineer at $90,000 in the us and the expected growth in adoption of automation testing, with 44% of it organizations aiming to automate 50% or more of all testing in 2019.', 'duration': 434.017, 'highlights': ['The global automation testing market size is expected to grow up to 28.8 billion dollars by 2024, with a compound annual growth rate of 18% during the forecast period, reflecting the increasing demand for automation testing (Key point: forecasted market size and growth rate).', 'The average annual salary of a test automation engineer is around $90,000 in the US, indicating lucrative career prospects in the field of automation testing (Key point: average annual salary).', '44% of IT organizations expect to automate 50% or more of all testing in 2019, demonstrating the anticipated growth in adoption of automation testing (Key point: predicted adoption growth).']}, {'end': 38239.776, 'start': 37924.326, 'title': 'Skills for automation testing', 'summary': 'Covers the importance of automation testing, the required skills such as knowledge of automation testing tools like selenium and uft, understanding business requirements, troubleshooting, and the significance of certifications for a successful career in automation testing.', 'duration': 315.45, 'highlights': ['Understanding the business requirement is crucial for an automation tester, including knowledge of programming language, platform, device requirements, databases, APIs, web services, and manual testing before automation (relevance: high)', 'Selenium is a critical tool for automation testing, essential for both freshers and experienced professionals, while UFT (QTP) by HP is also highly regarded in the industry (relevance: high)', "Certifications like ISTQB and Certified Software Test Engineer can enhance an automation tester's profile and knowledge base, providing an out-of-the-box approach to application testing (relevance: medium)"]}, {'end': 38623.273, 'start': 38240.756, 'title': 'Automation testing trends 2020', 'summary': "Covers a master's program in automation testing, highlighting key courses and the relevance of certification, along with discussing the top automation testing trends of 2020, including cyber security, iot testing, and big data testing, with quantifiable data and industry impact.", 'duration': 382.517, 'highlights': ["The master's program in automation testing offers 10 courses, including software testing, selenium certification, continuous testing, and performance testing, with 200+ hours of learning and a role as a test automation engineer, sought after by top companies like Wipro, Honeywell, Cisco, and VMware.", "The importance of certification in the structured learning path of the master's program is emphasized, with a focus on becoming proficient in automation testing, supported by five live instructor-led courses and a capstone project consolidating the learning experience.", 'Cyber security emerges as a top automation testing trend in 2020, driven by the increasing security threats in the digital revolution, with quantifiable data on the growth of cyber security threats and the expected number of IOT devices by the end of 2020.', 'IOT testing is highlighted as a significant trend, with a focus on the increasing number of IOT devices and the challenges faced by IOT testers, including skill gap and testing strategy, supported by data on the projected number of IOT devices by 2020 and the lack of proper testing strategies.', 'Big data testing is discussed as a crucial trend, addressing the need for effective testing of large and diverse data volumes, with a focus on accurate data validation and improved decision-making, indicating the relevance of platforms for reproducing application data layers in 2020.']}], 'duration': 1407.977, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw37215296.jpg', 'highlights': ['The global automation testing market size is expected to grow up to 28.8 billion dollars by 2024, with a compound annual growth rate of 18% during the forecast period, reflecting the increasing demand for automation testing.', 'The average annual salary of a test automation engineer is around $90,000 in the US, indicating lucrative career prospects in the field of automation testing.', 'Understanding the business requirement is crucial for an automation tester, including knowledge of programming language, platform, device requirements, databases, APIs, web services, and manual testing before automation.', 'Selenium is a critical tool for automation testing, essential for both freshers and experienced professionals, while UFT (QTP) by HP is also highly regarded in the industry.', '44% of IT organizations expect to automate 50% or more of all testing in 2019, demonstrating the anticipated growth in adoption of automation testing.']}, {'end': 41847.226, 'segs': [{'end': 38704.815, 'src': 'embed', 'start': 38676.978, 'weight': 4, 'content': [{'end': 38682.783, 'text': 'We have something called CI that is continuous integration and continuous deployment, which is also being made use.', 'start': 38676.978, 'duration': 5.805}, {'end': 38691.791, 'text': 'as many organizations adopt agile and devops practices to fulfill their norm of quality at speed.', 'start': 38683.949, 'duration': 7.842}, {'end': 38696.912, 'text': 'test automation or software development has become a vital component for this.', 'start': 38691.791, 'duration': 5.121}, {'end': 38704.815, 'text': 'test automation also supports team and performing repetitive tasks, detecting bugs faster and more precisely,', 'start': 38696.912, 'duration': 7.903}], 'summary': 'Ci/cd supports agile and devops for faster bug detection and task automation.', 'duration': 27.837, 'max_score': 38676.978, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw38676978.jpg'}, {'end': 38757.953, 'src': 'embed', 'start': 38722.81, 'weight': 5, 'content': [{'end': 38727.533, 'text': 'undoubtedly, test automation has already penetrated into the industry of testing.', 'start': 38722.81, 'duration': 4.723}, {'end': 38731.915, 'text': 'repetitive tasks and generate effective results by using devops.', 'start': 38727.533, 'duration': 4.382}, {'end': 38739.558, 'text': 'substantiating proper collaboration between the departments, test automation tools continue to lead the software testing space.', 'start': 38731.915, 'duration': 7.643}, {'end': 38747.984, 'text': 'Also this helps in generating faster release cycles better quality and quicker ROI that is return of investment.', 'start': 38740.356, 'duration': 7.628}, {'end': 38757.953, 'text': 'Also, there is another report by statista, which says only 9% of respondents have not yet accepted or not planning to take up devops.', 'start': 38748.704, 'duration': 9.249}], 'summary': 'Test automation leads to faster release cycles, better quality, and quicker roi. 9% have not adopted devops.', 'duration': 35.143, 'max_score': 38722.81, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw38722810.jpg'}, {'end': 39290.223, 'src': 'embed', 'start': 39264.377, 'weight': 0, 'content': [{'end': 39272.579, 'text': 'Now, what are the limitations of selenium web driver? It cannot test web applications handling pop-ups is a little too difficult.', 'start': 39264.377, 'duration': 8.202}, {'end': 39275.135, 'text': 'It cannot test mobile applications.', 'start': 39273.274, 'duration': 1.861}, {'end': 39280.778, 'text': 'It supports limited reporting and it cannot actually support dynamic content.', 'start': 39275.755, 'duration': 5.023}, {'end': 39284, 'text': "Okay Now, let's move on to our next question.", 'start': 39281.418, 'duration': 2.582}, {'end': 39290.223, 'text': 'What are the drawbacks of selenium RC like I mentioned earlier selenium RC is deprecated.', 'start': 39284.42, 'duration': 5.803}], 'summary': 'Selenium webdriver limitations: cannot test mobile apps, limited reporting, struggles with pop-ups and dynamic content. selenium rc is deprecated.', 'duration': 25.846, 'max_score': 39264.377, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw39264377.jpg'}, {'end': 39968.226, 'src': 'embed', 'start': 39946.362, 'weight': 6, 'content': [{'end': 39954.823, 'text': 'Okay page Factory is an inbuilt page object model pattern used to initialize web elements which are defined in page objects.', 'start': 39946.362, 'duration': 8.461}, {'end': 39961.925, 'text': 'Now, you might want to know the difference between the page object model and the page Factory because both are design patterns.', 'start': 39955.484, 'duration': 6.441}, {'end': 39968.226, 'text': 'Okay Page object model is a class which represents the web page and holds all the functionalities.', 'start': 39962.265, 'duration': 5.961}], 'summary': 'Page factory initializes web elements in page objects, a class representing the web page.', 'duration': 21.864, 'max_score': 39946.362, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw39946362.jpg'}, {'end': 40264.899, 'src': 'embed', 'start': 40236.063, 'weight': 3, 'content': [{'end': 40240.846, 'text': 'So the tool waits in order to check for the condition and then it comes out of it if nothing happens.', 'start': 40236.063, 'duration': 4.783}, {'end': 40244.267, 'text': 'So this is how you achieve synchronization in that driver.', 'start': 40241.546, 'duration': 2.721}, {'end': 40248.91, 'text': "Now, let's move on to another important question how to take a screenshot in selenium.", 'start': 40244.768, 'duration': 4.142}, {'end': 40255.232, 'text': 'Selenium has an interface by the name takes screenshot which we can use in order to get a screenshot.', 'start': 40249.528, 'duration': 5.704}, {'end': 40257.934, 'text': 'Okay, so the syntax goes something like this.', 'start': 40255.633, 'duration': 2.301}, {'end': 40264.899, 'text': 'It says take screenshot link it to the driver and get screenshot as and the output type would be file.', 'start': 40258.034, 'duration': 6.865}], 'summary': "Achieve synchronization in selenium by waiting for condition, take screenshot using 'takesscreenshot' interface.", 'duration': 28.836, 'max_score': 40236.063, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw40236063.jpg'}], 'start': 38623.273, 'title': 'Selenium testing framework overview', 'summary': 'Provides an overview of key functionalities of the selenium testing framework, including its support for annotation, data-driven testing, flexible test configuration, and ability to re-execute failed test cases. it also covers topics such as assert and verify commands, handling network latency, database testing, session handling, exceptions, and comparison of selenium with qtp, along with insights on resume building and job trends in selenium automation testing.', 'chapters': [{'end': 38722.81, 'start': 38623.273, 'title': 'Latest trends in it automation', 'summary': 'Discusses the latest trends in it automation, such as the adoption of efficient processing installations, the increasing use of automation testing with 44% of it organizations automating 50% or more of all testing in 2020, and the incorporation of agile and devops practices to fulfill the norm of quality at speed.', 'duration': 99.537, 'highlights': ['The adoption of efficient processing installations, ensuring constant import of new data and parallel processing of old data, leading to a reduction in application installation time.', '44% of IT organizations automate 50% or more of all testing in 2020, indicating the mainstream use of automation testing.', 'Incorporation of agile and devops practices to fulfill the norm of quality at speed in many organizations.']}, {'end': 39241.839, 'start': 38722.81, 'title': '2020 automation testing trends', 'summary': 'Discusses the latest trends in automation testing for the year 2020, including the increasing adoption of ai and ml in software testing, the high demand for selenium job opportunities, and the various components and frameworks of selenium.', 'duration': 519.029, 'highlights': ['The market for artificial intelligence is expected to reach around 190.6 billion dollars by 2025, indicating a growing adaption to machine learning in the IT industry.', 'There are roughly 16,955 available jobs in test automation engineering and 30,000 jobs available on Glassdoor, indicating a high demand and job security for automation testers.', 'Selenium is considered as a web standard automation tool and is supported by almost every available browser, making it the most demanded software testing tool at the peak right now.', 'The selenium suite consists of selenium ID, selenium RC, selenium webdriver, and selenium grid, each serving different testing requirements, with selenium webdriver replacing selenium RC due to its various advantages.', 'The different types of frameworks available in selenium include data-driven, keyword-driven, and hybrid, each serving different techniques for code maintenance and test case execution.']}, {'end': 39607.278, 'start': 39241.839, 'title': 'Limitations of selenium and selenese overview', 'summary': 'Discusses the limitations of selenium webdriver and selenium rc, the capabilities of selenium webdriver, the importance of selenium id, and the different types of selenese available in selenium.', 'duration': 365.439, 'highlights': ['Selenium WebDriver limitations include difficulties in testing image-based applications, dependency on external support for report generation, and inability to test web services like SOAP or REST.', 'Selenium WebDriver capabilities include support for handling multiple frames, pop-ups, multiple browser windows, alerts, page navigation, drag-and-drop feature, and Ajax-based UI elements.', 'Selenese is a set of commands used for running test cases in Selenium, including actions, assertions, and accessors, and locators are defined as addresses that identify web elements uniquely within a web page in Selenium.']}, {'end': 39900.039, 'start': 39607.358, 'title': 'Selenium web element locators', 'summary': 'Discusses various locators in selenium such as id, link text, partial link text, css selector, xpath, and how to use find element and find elements, select the size of the browser window, work with excel files using jxl and apache poi, javascript executor, and page factory.', 'duration': 292.681, 'highlights': ['The ID locator is the safest and the fastest option to identify web elements, and it should always be the first choice even when multiple options are available.', 'XPath is an important strategy to locate an element in Selenium, and it allows writing a script or a query to locate an element on the webpage.', 'Find elements is used to find all the elements in the current web page matching the specified locator value, and all the matching elements would be fetched and stored in the list of web elements.', "To maximize the window, the command 'driver.manage().window().maximize' can be used, and to get the actual size of the window browser, 'window.getSize' command is used.", 'JXL is the Java Excel API that allows the user to read, write, create, and modify the sheets in an Excel workbook at runtime, whereas Apache POI is a popular API that allows the programmers to create, modify, and display MS Office files using Java programs.', 'JavaScript executor is an interface that helps to execute JavaScript through Selenium webdriver and is used for scrolling down a page by specifying the axis (x or y axis).']}, {'end': 40476.061, 'start': 39900.26, 'title': 'Selenium automation: page objects, actions, and synchronization', 'summary': 'Covers the implementation of page object model, page factory, actions class for handling mouse and keyboard events, alert interface for handling window pop-ups, robot class for native system input events, synchronization in webdriver, screenshot capture using takes screenshot interface, handling multiple windows using window handles, and listeners in selenium webdriver including testnglisteners and webdriverlistener.', 'duration': 575.801, 'highlights': ['The page object model is a design pattern in test automation that creates an object repository for web UI based elements, making the automation framework friendly, durable, comprehensive, and reusable, which is best applicable for applications containing multiple pages.', 'The actions class in selenium webdriver handles various types of keyboard and mouse events such as drag-and-drop, clicking on multiple elements with the help of control key, and more, providing an inbuilt ability to handle complex action events.', 'Selenium does not support window-based pop-ups, but the alert interface offers efficient methods such as dismiss, accept, get text, and send keys to handle these pop-ups, while the robot class provides control over mouse and keyboard functions for handling OS pop-ups and native system input events.', 'Synchronization in webdriver can be achieved using conditional and non-conditional methods, where conditional synchronization specifies a condition along with a timeout value, and non-conditional synchronization specifies only the timeout value to wait until a certain time and then proceed further.', 'The takes screenshot interface in selenium captures the entire screenshot in the form of a file, which can be copied to another location using the file utils class, specifying the output type as a PNG image.', 'Handling multiple windows in selenium involves using window handles to switch between windows, where the window handle acts as a unique identifier for the windows, and different methods like get window handle, get window handles, set switch to, and action are used for managing multiple windows.', 'Listeners in selenium webdriver, including TestNGListeners and WebDriverListener, allow customizing the test engine reports or logs by listening to particular events defined in the selenium script and altering the default TestNG behavior, providing flexibility and functionalities such as implementing methods, classes, and altering the default TestNG behavior.']}, {'end': 41847.226, 'start': 40476.061, 'title': 'Selenium testing framework overview', 'summary': 'Provides an overview of key functionalities of the selenium testing framework, including its support for annotation, data-driven testing, flexible test configuration, and ability to re-execute failed test cases. it also covers topics such as assert and verify commands, handling network latency, database testing, session handling, exceptions, and comparison of selenium with qtp, along with insights on resume building and job trends in selenium automation testing.', 'duration': 1371.165, 'highlights': ['The Selenium testing framework offers support for annotation, data-driven testing, flexible test configuration, and re-execution of failed test cases, enhancing testing efficiency.', 'Selenium provides assert and verify commands to check given conditions, with assert halting execution on failure, while verify does not halt execution, enabling continuous test execution even after failures.', "Selenium allows handling network latency using the command 'driver.manage.pageLoadingTime', aiding in providing time load for the page and effectively managing network latency.", 'The framework supports database testing using Java Database Connectivity (JDBC) API to execute SQL statements, enabling partial database testing in Selenium webdriver.', 'Session handling is crucial in Selenium to avoid conflicts during test execution, ensuring uninterrupted interaction with the browser and preventing potential conflicts from simultaneous script executions.', 'Selenium offers exceptions such as webdriver exceptions, no alert present exception, no such window exception, no such element exception, and timeout exceptions, addressing various issues during test execution.', 'A comparison between Selenium and QTP highlights differences in browser compatibility, application testing, object repository, language support, and vendor support, positioning Selenium as an open-source, versatile testing tool.', "Selenium provides capabilities to navigate back, forward, refresh, and launch new web browser windows using the 'navigate' interface, enhancing browser navigation and page interaction.", 'Selenium automation tool is preferred for its free and open-source nature, vast user base, cross-browser and platform compatibility, and support for multiple programming languages, making it a popular choice for automation testing.', 'The chapter also covers insights on resume building, essential skills, latest job trends, and salary statistics in the Selenium automation testing domain.']}], 'duration': 3223.953, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/FRn5J31eAMw/pics/FRn5J31eAMw38623273.jpg', 'highlights': ['Selenium is the most demanded software testing tool at the peak right now.', 'Selenium offers assert and verify commands for checking conditions.', 'Selenium supports annotation, data-driven testing, flexible test configuration, and re-execution of failed test cases.', 'Selenium is considered as a web standard automation tool and is supported by almost every available browser.', "Selenium provides capabilities to navigate back, forward, refresh, and launch new web browser windows using the 'navigate' interface.", 'Selenium automation tool is preferred for its free and open-source nature, vast user base, cross-browser and platform compatibility, and support for multiple programming languages.', 'Selenium provides exceptions such as webdriver exceptions, no alert present exception, no such window exception, no such element exception, and timeout exceptions.', "Selenium offers capabilities to handle network latency using the command 'driver.manage.pageLoadingTime'.", 'Selenium supports database testing using Java Database Connectivity (JDBC) API to execute SQL statements.', 'Selenium provides assert and verify commands to check given conditions, with assert halting execution on failure, while verify does not halt execution.']}], 'highlights': ['The global automation testing market size is expected to grow up to 28.8 billion dollars by 2024, with a compound annual growth rate of 18% during the forecast period, reflecting the increasing demand for automation testing.', 'The average annual salary of a test automation engineer is around $90,000 in the US, indicating lucrative career prospects in the field of automation testing.', 'Selenium is the most demanded software testing tool at the peak right now.', 'Selenium offers assert and verify commands for checking conditions.', 'Selenium supports annotation, data-driven testing, flexible test configuration, and re-execution of failed test cases.', 'Selenium is considered as a web standard automation tool and is supported by almost every available browser.', "Selenium provides capabilities to navigate back, forward, refresh, and launch new web browser windows using the 'navigate' interface.", 'Selenium automation tool is preferred for its free and open-source nature, vast user base, cross-browser and platform compatibility, and support for multiple programming languages.', 'Selenium provides exceptions such as webdriver exceptions, no alert present exception, no such window exception, no such element exception, and timeout exceptions.', "Selenium offers capabilities to handle network latency using the command 'driver.manage.pageLoadingTime'."]}