Learn Selenium with Java, Cucumber & Frameworks
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English (US) | Size: 64.08 GB | Duration: 102h 30m
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English (US) | Size: 64.08 GB | Duration: 102h 30m
Core Java, Selenium WebDriver, TestNG , Cucumber, Maven, Jenkins, GIT, GitHub, Docker & Frameworks
What you'll learn
You will learn how to write test scripts using Selenium WebDriver.
You will know how to identify identify various web elements using Selenium.
You will know how to work with Selenium Grid.
You will know how to design frameworks from scratch.
You will able to work on Real time projects after you completed this course.
You will know about Continuous Integration(CI) Process and Tools.
Requirements
Software Testing Concepts
Understanding of Computers and Web Sites
No prior knowledge of Java, everything will be covered in this course
Description
Master Selenium Automation Testing with Java from scratch! This comprehensive course covers Java programming, Selenium WebDriver, TestNG, Cucumber BDD, Selenium Grid, Docker, and automation framework development. Learn industry best practices and real-world test automation techniques.The course is structured around several modules, covering essential topics such as:Module-1: Overview on Automation & SeleniumIntroduction to AutomationChallenges in Manual TestingOvercoming Challenges with AutomationImportance of Programming in AutomationIntroduction to SeleniumSelenium ComponentsAdvantages and Disadvantages of Selenium WebDriverModule-2: Java Programming for SeleniumJava and Eclipse Environment SetupSetting up Java Development Kit (JDK)Installing Eclipse IDEConfiguring Java and Eclipse EnvironmentHow to Write Basic Java Program?Creating a Java ClassMain Method in JavaWriting the First Java ProgramCompiling and Running Java ProgramsUnderstanding Console OutputUsing System.out.println() for OutputPrinting Variables and Text to ConsoleJava Variables and Data TypesDeclaring Variables in JavaPrimitive Data Types (int, float, double, char, boolean)Variable Naming ConventionsJava OperatorsArithmetic OperatorsRelational OperatorsLogical OperatorsAssignment OperatorsIncrement and Decrement OperatorsTernary OperatorsConditional StatementsIf StatementIf-Else StatementSwitch-Case StatementLoopsWhile LoopDo-While LoopFor LoopJumping StatementsUsing break StatementUsing continue StatementArrays - Single & Two DimensionalDeclaring and Initializing ArraysAccessing Array ElementsSingle-Dimensional ArraysTwo-Dimensional ArraysObject Type ArrayCoding Exercises on ArraysString ClassIntroduction to the String ClassString MethodsCommon String MethodsCoding Exercises on StringsWrapper ClassesPrimitive Data Types vs Wrapper ClassesAutoboxing and UnboxingModule 3: Java OOPS ConceptsClasses and ObjectsIntroduction to Classes and ObjectsCreating ClassesDeclaring Object InstancesClass Members: Fields and MethodsJava Methods & ConstructorsDefining MethodsMethod SignaturesReturn TypesPassing Parameters to MethodsPassing ParametersCall by ValueCall by Reference (Reference Passing)Java ConstructorConstructor BasicsParameterized ConstructorsDefault ConstructorsPolymorphismIntroduction to PolymorphismOverloading MethodsMethod OverloadingOverloading with Different Parameter TypesOverloading with Different Number of ParametersOverloading ConstructorsConstructor OverloadingCreating Constructors with Different ParametersEncapsulationEncapsulation OverviewSetters and GettersPurpose of Setters and GettersEncapsulation with Setters and Gettersthis KeywordUnderstanding the this KeywordUsing this to Differentiate Instance and Local VariablesStatic Variables and MethodsStatic VariablesStatic MethodsAccessing Static MembersInheritanceBasics of InheritanceExtending ClassesSuperclass and SubclassTypes of InheritanceSingle InheritanceMultiple InheritanceMultilevel InheritanceHierarchical InheritanceMethod OverridingOverriding Methods in SubclassesUse of @Override Annotationsuper KeywordUsing super to Access Superclass MembersInvoking Superclass Methodsfinal KeywordFinal VariablesFinal MethodsFinal ClassesAbstract ClassAbstract Class OverviewAbstract MethodsCreating Abstract ClassesJava InterfaceIntroduction to InterfacesImplementing InterfacesMultiple Interface ImplementationJava PackagesOrganizing Code with PackagesCreating and Using PackagesAccess ModifiersPublic, Private, Protected, Default Access ModifiersAccess Modifier ScopeData Conversion FunctionsConverting Data TypesCasting - Up Casting and Down castingReading Input from KeyboardUsing Scanner Class for InputException HandlingIntroduction to Exception HandlingTry, Catch, Finally BlocksTypes of ExceptionsJava CollectionsOverview of Java Collections FrameworkLists, Sets, MapsIteratorsCollections MethodsFile HandlingHandle text filesHandle properties filesModule-4: Selenium WebDriver (Latest Version)Introduction to WebDriver and ArchitectureOverview of Selenium WebDriverArchitecture of Selenium WebDriverEnvironment Setup & WebDriver ConfigurationSetting up WebDriver in EclipseConfiguring WebDriver for Different BrowsersHow to Create Automated Test Case in WebDriver?Setting Up a Basic Test Case StructureWriting and Running Simple WebDriver Test CasesExecute Test Case on Multiple BrowsersCross-Browser TestingRunning Tests on Different BrowsersUnderstanding HTML Tags and AttributesHTML Basics for Selenium TestersLocating Elements Using HTML Tags and AttributesBasic LocatorsName LocatorID LocatorLinkText LocatorPartialLinkText LocatorAdvanced LocatorsCSS LocatorsXPath LocatorsXPath AxesRelative Locators.above, .below, .toLeftOf, .toRightOf, .nearHow to Use SelectorsHub & Features of Selectors HubOverview of SelectorsHubFeatures and BenefitsWebDriver MethodsOpening Page URLVerifying Page TitleGetting Page SourceGetting Page URLConditional MethodsVisibility of WebElementsEnable/Disable Status of Web ElementsWaitsImplicit WaitsExplicit WaitsFluent WaitsPage Load TimeNavigation MethodsNavigating Back & ForwardRefreshing PageBrowser Commandsclose() and quit()getWindowHandle() and getWindowHandles()Working with Web ElementsHandling Input BoxesHandling Checkboxes & Radio ButtonsHandling LinksHandling Alerts/PopupsHandling Alert BoxesHandling Confirmation BoxesHandling Prompt BoxesWorking with Browser WindowsSwitching Between Browser WindowsHandling Tabs and WindowsHandling Iframes & Inner IframesSwitching to IframesWorking with Nested IframesHandling Drop DownsSelect type Drop downBootstrap Drop DownsMulti Select Drop DownAuto Suggest Drop DownHandling Static & Dynamic Web TablesStrategies for Handling TablesHandling Static TablesHandling Dynamic TablesPagination TablesHandling Date PickersStrategies for Handling Date PickersHandle SVG & ShadowDOM ElementsHandle CookiesHandle Broken LinksHandling Mouse ActionsUsing Actions ClassRight Click, Double Click, Mouse OverDrag and Drop ActionsHandling Keyboard Actions and ShortcutsUsing Actions Class for Keyboard ActionsWorking with JavascriptExecutorExecuting JavaScript Code in SeleniumScrolling Web PageScrolling Up and Down the PageZoom In & Zoom Out, Maximize, Minimize Web PageManaging Browser Window SizeOpening Links in New TabHandling New TabsWorking with Tabs and WindowsSwitching Between Tabs and WindowsCapturing ScreenshotsTaking Screenshots in SeleniumHeadless Browser TestingOverview of Headless TestingAdvantages and DisadvantagesSSL Certificate HandlingHandling SSL CertificatesBrowser Settings with ChromeOptionsCustomizing Chrome Browser SettingsEnable Extensions on Browser at RuntimeManaging Browser ExtensionsBlocking Ads on WebPage at RuntimeBlocking Ads Using WebDriverRun Tests in Incognito ModeRunning Tests in Incognito/Private ModeHow to Handle Upload Files (Single and Multiple)Uploading Files in SeleniumHandling Broken LinksWhat is Broken link?How to find Broken links in web pageHandling shadowDOM, SVG ElementsStrategies for Handling shadowDOM and SVG ElementsSelenium WebDriver ExceptionsWorking with Excel Files Using Apache POI APIReading and Writing Excel FilesData-Driven TestingStrategies for Data-Driven TestingImplementing Data-Driven Tests in SeleniumSelenium WebDriver ExceptionsModule-5: TestNGIntroduction to TestNG and AdvantagesOverview of TestNGAdvantages of TestNG over JUnitTestNG FeaturesConfiguring TestNG in ProjectSetting up TestNG in Eclipse or IntelliJConfiguring TestNG Dependencies in the ProjectWriting TestNG Test CasesBasics of Writing TestNG Test CasesAnnotations in TestNGPrioritizing TestsSetting Test Case PriorityRunning Tests in Priority OrderUnderstanding Testng.xmlStructure of TestNG XML FileConfiguring Test Suites and Test CasesTestNG ReportTestNG HTML ReportsViewing and Analyzing TestNG ReportsTestNG Annotations@BeforeSuite, @AfterSuite@BeforeTest, @AfterTest@BeforeClass, @AfterClass@BeforeMethod, @AfterMethod@Test AnnotationTypes of Assertions (Hard and Soft Assertions)Using Hard Assertions in TestNGUsing Soft Assertions in TestNGdependsOnMethodsDefining Dependencies Between Test MethodsEnsuring Test Methods Run in a Specific OrderSkipping and Ignoring TestsSkipping Tests in TestNGIgnoring Tests in TestNGGrouping TestsGrouping Tests in TestNGRunning Tests by GroupsParameterizing Tests (XML File, DataProviders)Parameterizing Tests Using TestNG XML FileParameterizing Tests Using DataProviders@DataProviderUnderstanding @DataProvider AnnotationProviding Test Data to Test MethodsInvocation CountRepeating Test Execution with Invocation CountParallel TestingRunning Tests in ParallelConfiguring Parallel Execution in TestNGTestNG ListenersOverview of TestNG ListenersImplementing Listeners in TestNGTypes of TestNG Listeners (e.g., ITestListener, IAnnotationTransformer)Generate Extent Reports using ListenersModule-6: Page Object Model PatternGenerating Extent ReportsLog4j2 for LoggingPage Object Model (POM) PatternCreating Page Object Classes without Page FactoryCreating Page Object Classes using Page Factory@FindBy annotationModule-7: Selenium GridIntroduction to Selenium GridSetting Up Grid Environment (Stand Alone, Hub with Nodes)Running Selenium Tests on GridModule-8: DockerWhat is DockerWhat is Docker ImageWhat is Docker ContainerHow to create account on Docker HubDownload Images from Docker HubDocker UI ApplicationSelenium Grid Configuration on Docker HubRun your test cases on Dockerized Selenium GridSetup Infrastructure using Docker Compose ymlScale up the browsers at the run timeShut down the Docker InfrastructureModule-9: Introduction to Automation FrameworksIntroduction to Automation FrameworksTypes of FrameworksPhases in Designing FrameworkChoosing Test Cases for AutomationModule-10: Hybrid Framework with POM (Page Object Model) – ProjectCreating Maven Project and update pom.xml with dependenciesCreating Folder StructureCreating Page Objects and Object RepositoryCreating Utility filesGenerating Extent ReportsGenerating Allure ReportsGenerating Logs using Log4j2Setting Up Configuration FilesCreating Automation Test CasesCreating Data-Driven Test CasesCreating Database Test CasesExecuting Test Scripts using TestNG XML FileEmailing Test ReportsExecuting Test Scripts through Command LineExecuting Test Scripts using Batch FileExecuting Test Scripts on Selenium GridExecuting Script on Docker ContainerModule-11: Cucumber BDD FrameworkIntroduction to BDD and CucumberGherkin Language KeywordsFeature FilesStep DefinitionsTestRunner ClassData Tables and Scenario OutlineTags, BackgroundCucumber HooksCucumber ReportsCucumber Extent ReportsCucumber Allure ReportsModule-12: CI & CD Concepts( Git, Github & Jenkins)Version Control System OverviewGit and GitHubGit CommandsContinuous Integration (CI) and Continuous Delivery (CD)Jenkins OverviewMaven Integration with JenkinsRunning Selenium Tests through JenkinsCreating CI/CD Pipelines -Declarative & scriptedScheduling JobsCron patterns
Who this course is for:
Any Fresh Graduates, Students, Working professionals, Manual testers & who wish to learn this course in order to transform as an Automation Test Engineer can go for this course.