Best Coyote code snippet using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Check
DuplicateEventHandlersTests.cs
Source:DuplicateEventHandlersTests.cs
...10 public DuplicateEventHandlersTests(ITestOutputHelper output)11 : base(output)12 {13 }14 [OnEventDoAction(typeof(UnitEvent), nameof(Check1))]15 [OnEventDoAction(typeof(UnitEvent), nameof(Check2))]16 private class A1 : Actor17 {18#pragma warning disable CA1822 // Mark members as static19 private void Check1()20#pragma warning restore CA1822 // Mark members as static21 {22 }23#pragma warning disable CA1822 // Mark members as static24 private void Check2()25#pragma warning restore CA1822 // Mark members as static26 {27 }28 }29 [Fact(Timeout = 5000)]30 public void TestDuplicateDoEventHandlerInActor()31 {32 this.TestWithError(r =>33 {34 r.CreateActor(typeof(A1));35 },36 expectedError: "A1 declared multiple handlers for event 'Events.UnitEvent'.");37 }38 private class M1 : StateMachine39 {40 [Start]41 [OnEventDoAction(typeof(UnitEvent), nameof(Check1))]42 [OnEventDoAction(typeof(UnitEvent), nameof(Check2))]43 private class Init : State44 {45 }46#pragma warning disable CA1822 // Mark members as static47 private void Check1()48#pragma warning restore CA1822 // Mark members as static49 {50 }51#pragma warning disable CA1822 // Mark members as static52 private void Check2()53#pragma warning restore CA1822 // Mark members as static54 {55 }56 }57 [Fact(Timeout = 5000)]58 public void TestDuplicateDoEventHandlerInStateMachine()59 {60 this.TestWithError(r =>61 {62 r.CreateActor(typeof(M1));63 },64 expectedError: "M1() declared multiple handlers for event 'Events.UnitEvent' in state 'M1+Init'.");65 }66 private class M2 : StateMachine67 {68 [Start]69 [OnEventGotoState(typeof(UnitEvent), typeof(S1))]70 [OnEventGotoState(typeof(UnitEvent), typeof(S2))]71 private class Init : State72 {73 }74 private class S1 : State75 {76 }77 private class S2 : State78 {79 }80 }81 [Fact(Timeout = 5000)]82 public void TestDuplicateGotoEventHandlerInStateMachine()83 {84 this.TestWithError(r =>85 {86 r.CreateActor(typeof(M2));87 },88 expectedError: "M2() declared multiple handlers for event 'Events.UnitEvent' in state 'M2+Init'.");89 }90 private class M3 : StateMachine91 {92 [Start]93 [OnEventPushState(typeof(UnitEvent), typeof(S1))]94 [OnEventPushState(typeof(UnitEvent), typeof(S2))]95 private class Init : State96 {97 }98 private class S1 : State99 {100 }101 private class S2 : State102 {103 }104 }105 [Fact(Timeout = 5000)]106 public void TestDuplicatePushEventHandlerInStateMachine()107 {108 this.TestWithError(r =>109 {110 r.CreateActor(typeof(M3));111 },112 expectedError: "M3() declared multiple handlers for event 'Events.UnitEvent' in state 'M3+Init'.");113 }114 private class M4 : StateMachine115 {116 [Start]117 private class Init : BaseState118 {119 }120 [OnEventDoAction(typeof(UnitEvent), nameof(Check1))]121 [OnEventDoAction(typeof(UnitEvent), nameof(Check2))]122 private class BaseState : State123 {124 }125#pragma warning disable CA1822 // Mark members as static126 private void Check1()127#pragma warning restore CA1822 // Mark members as static128 {129 }130#pragma warning disable CA1822 // Mark members as static131 private void Check2()132#pragma warning restore CA1822 // Mark members as static133 {134 }135 }136 [Fact(Timeout = 5000)]137 public void TestInheritedDuplicateDoEventHandlerInStateMachine()138 {139 this.TestWithError(r =>140 {141 r.CreateActor(typeof(M4));142 },143 expectedError: "M4() inherited multiple handlers for event 'Events.UnitEvent' from state 'M4+BaseState' in state 'M4+Init'.");144 }145 private class M5 : StateMachine146 {147 [Start]148 private class Init : BaseState149 {150 }151 [OnEventGotoState(typeof(UnitEvent), typeof(S1))]152 [OnEventGotoState(typeof(UnitEvent), typeof(S2))]153 private class BaseState : State154 {155 }156 private class S1 : State157 {158 }159 private class S2 : State160 {161 }162 }163 [Fact(Timeout = 5000)]164 public void TestInheritedDuplicateGotoEventHandlerInStateMachine()165 {166 this.TestWithError(r =>167 {168 r.CreateActor(typeof(M5));169 },170 expectedError: "M5() inherited multiple handlers for event 'Events.UnitEvent' from state 'M5+BaseState' in state 'M5+Init'.");171 }172 private class M6 : StateMachine173 {174 [Start]175 private class Init : BaseState176 {177 }178 [OnEventPushState(typeof(UnitEvent), typeof(S1))]179 [OnEventPushState(typeof(UnitEvent), typeof(S2))]180 private class BaseState : State181 {182 }183 private class S1 : State184 {185 }186 private class S2 : State187 {188 }189 }190 [Fact(Timeout = 5000)]191 public void TestInheritedDuplicatePushEventHandlerInStateMachine()192 {193 this.TestWithError(r =>194 {195 r.CreateActor(typeof(M6));196 },197 expectedError: "M6() inherited multiple handlers for event 'Events.UnitEvent' from state 'M6+BaseState' in state 'M6+Init'.");198 }199 private class M7 : StateMachine200 {201 [Start]202 [OnEventDoAction(typeof(UnitEvent), nameof(Check))]203 [OnEventGotoState(typeof(UnitEvent), typeof(S1))]204 [OnEventPushState(typeof(UnitEvent), typeof(S2))]205 private class Init : State206 {207 }208 private class S1 : State209 {210 }211 private class S2 : State212 {213 }214#pragma warning disable CA1822 // Mark members as static215 private void Check()216#pragma warning restore CA1822 // Mark members as static217 {218 }219 }220 [Fact(Timeout = 5000)]221 public void TestDuplicateMixedEventHandlerInStateMachine()222 {223 this.TestWithError(r =>224 {225 r.CreateActor(typeof(M7));226 },227 expectedError: "M7() declared multiple handlers for event 'Events.UnitEvent' in state 'M7+Init'.");228 }229 }...
Check
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using Microsoft.Coyote;4using Microsoft.Coyote.Actors;5using Microsoft.Coyote.Actors.BugFinding;6using Microsoft.Coyote.Actors.BugFinding.Tests;7using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlers;8using Microsoft.Coyote.TestingServices.BugFinding;9using Microsoft.Coyote.TestingServices.BugFinding.Tests;10using Microsoft.Coyote.TestingServices.BugFinding.Tests.DuplicateEventHandlers;11using Microsoft.Coyote.TestingServices.SchedulingStrategies;12using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR;13using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.ScheduleExplorationStrategies;14using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.ScheduleExplorationStrategies.BoundedExploration;15using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.ScheduleExplorationStrategies.UnboundedExploration;16using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.ScheduleReductionStrategies;17using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.ScheduleReductionStrategies.BoundedReduction;18using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.ScheduleReductionStrategies.UnboundedReduction;19using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.StateExplorationStrategies;20using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.StateExplorationStrategies.BoundedExploration;21using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.StateExplorationStrategies.UnboundedExploration;22using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.StateReductionStrategies;23using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.StateReductionStrategies.BoundedReduction;24using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.StateReductionStrategies.UnboundedReduction;25using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR.StateReductionStrategies.UnboundedReduction.StateSelectionStrategies;26using Microsoft.Coyote.TestingServices.SchedulingStrategies.FairSchedule;27using Microsoft.Coyote.TestingServices.SchedulingStrategies.ProbabilisticRandomExecution;28using Microsoft.Coyote.TestingServices.SchedulingStrategies.RandomExecution;29using Microsoft.Coyote.TestingServices.SchedulingStrategies.RandomValue;
Check
Using AI Code Generation
1using Microsoft.Coyote.Actors;2using Microsoft.Coyote.Actors.BugFinding;3using Microsoft.Coyote.Actors.BugFinding.Tests;4using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests;5using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Events;6using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Machines;7using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Machines.Monitor;8using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Machines.Tasks;9using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Machines.Tasks.Events;10using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks;11using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Events;12using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Machines;13using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Machines.Events;14using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Machines.Monitor;15using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Machines.Tasks;16using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Machines.Tasks.Events;17using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Tasks;18using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Tasks.Events;19using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Tasks.Machines;20using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Tasks.Machines.Events;21using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Tasks.Machines.Monitor;22using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Tasks.Machines.Tasks;23using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Tasks.Machines.Tasks.Events;24using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Tasks.Tasks;25using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Tasks.Tasks.Tasks.Events;
Check
Using AI Code Generation
1using Microsoft.Coyote.Actors;2using Microsoft.Coyote.Actors.BugFinding;3using Microsoft.Coyote.Actors.BugFinding.Tests;4using Microsoft.Coyote.Specifications;5using Microsoft.Coyote.SystematicTesting;6using System;7using System.Collections.Generic;8using System.Text;9{10 {11 static void Main(string[] args)12 {13 var configuration = Configuration.Create().WithTestingIterations(200);14 var test = new DuplicateEventHandlersTests();15 var bugFindingEngine = new BugFindingEngine(configuration);16 bugFindingEngine.Run(test);17 Console.WriteLine("Press any key to exit...");18 Console.ReadKey();19 }20 }21}
Check
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using Microsoft.Coyote.Actors;4using Microsoft.Coyote.Actors.BugFinding.Tests;5using Microsoft.Coyote.TestingServices;6using Microsoft.Coyote.TestingServices.Runtime;7using Microsoft.Coyote.TestingServices.SchedulingStrategies;8using Microsoft.Coyote.TestingServices.SchedulingStrategies.DPOR;9using Microsoft.Coyote.TestingServices.SchedulingStrategies.Probabilistic;10{11 {12 public static async Task Main(string[] args)13 {14 var configuration = Configuration.Create();15 configuration.SchedulingStrategy = SchedulingStrategy.DPOR;16 configuration.MaxSchedulingSteps = 100000000;17 configuration.MaxFairSchedulingSteps = 100000000;18 configuration.MaxUnfairSchedulingSteps = 100000000;19 configuration.MaxStepsFromEntryToExit = 100000000;20 configuration.MaxStepsFromAnyChoiceToExit = 100000000;21 configuration.MaxStepsFromEntryToAnyChoice = 100000000;22 configuration.MaxStepsFromAnyChoiceToAnyChoice = 100000000;23 configuration.MaxInterleavings = 100000000;24 configuration.MaxFairInterleavings = 100000000;25 configuration.MaxUnfairInterleavings = 100000000;26 configuration.MaxProgramSteps = 100000000;27 configuration.MaxFairProgramSteps = 100000000;28 configuration.MaxUnfairProgramSteps = 100000000;29 configuration.MaxAsyncSteps = 100000000;30 configuration.MaxFairAsyncSteps = 100000000;31 configuration.MaxUnfairAsyncSteps = 100000000;32 configuration.MaxStepsFromAnyChoiceToAnyAction = 100000000;33 configuration.MaxStepsFromEntryToAnyAction = 100000000;34 configuration.MaxStepsFromAnyActionToExit = 100000000;
Check
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Text;4using System.Threading.Tasks;5using Microsoft.Coyote.Actors;6using Microsoft.Coyote.Actors.BugFinding.Tests;7using Microsoft.Coyote.BugFinding;8using Microsoft.Coyote.BugFinding.Detectors;9using Microsoft.Coyote.BugFinding.TestingServices;10using Microsoft.Coyote.SystematicTesting;11using Microsoft.Coyote.SystematicTesting.Strategies;12using Microsoft.Coyote.Tasks;13{14 {15 static void Main(string[] args)16 {17 var configuration = Configuration.Create();18 configuration.TestingIterations = 10;19 configuration.SchedulingIterations = 100;20 configuration.SchedulingStrategy = SchedulingStrategy.DFS;21 configuration.EnableCycleDetection = true;22 configuration.EnableDataRaceDetection = true;23 configuration.EnableDeadlockDetection = true;24 configuration.EnableLivelockDetection = true;25 configuration.EnableOperationCanceledException = true;26 configuration.EnableObjectDisposedException = true;27 configuration.EnableIndexOutOfRangeException = true;28 configuration.EnableNullReferenceException = true;29 configuration.EnableDivideByZeroException = true;30 configuration.EnableActorDeadlockDetection = true;31 configuration.EnableActorLivelockDetection = true;32 configuration.EnableActorTaskDeadlockDetection = true;33 configuration.EnableActorTaskLivelockDetection = true;34 configuration.EnableStateGraphBugFinding = true;35 configuration.EnableUnfairMonitorAccessBugFinding = true;36 configuration.EnableDuplicateEventHandlersBugFinding = true;37 configuration.EnableTimerCancellationBugFinding = true;38 configuration.EnableTimerRaceBugFinding = true;39 configuration.EnableAsyncDeadlockBugFinding = true;40 configuration.EnableAsyncLivelockBugFinding = true;41 configuration.EnableUnobservedTaskExceptionBugFinding = true;42 configuration.EnableTaskCanceledExceptionBugFinding = true;43 configuration.EnableTaskContinuationExceptionBugFinding = true;44 configuration.EnableUnobservedTaskExceptionBugFinding = true;45 configuration.EnableOperationCanceledExceptionBugFinding = true;46 configuration.EnableObjectDisposedExceptionBugFinding = true;47 configuration.EnableIndexOutOfRangeExceptionBugFinding = true;48 configuration.EnableNullReferenceExceptionBugFinding = true;49 configuration.EnableDivideByZeroExceptionBugFinding = true;50 configuration.EnableMissingEventHandlerBugFinding = true;51 configuration.EnableMissingSendBugFinding = true;52 configuration.EnableMissingMonitorAccessBugFinding = true;
Check
Using AI Code Generation
1using Microsoft.Coyote.Actors.BugFinding.Tests;2using Microsoft.Coyote.Actors;3using Microsoft.Coyote.Actors.BugFinding;4using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests;5using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Events;6using System;7using System.Collections.Generic;8using System.Linq;9using System.Text;10using System.Threading.Tasks;11using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests.Machines;12{13 {14 static void Main(string[] args)15 {16 var configuration = BugFindingEngine.CreateDefaultBugFindingConfiguration();17 configuration.EnableDuplicateEventHandlersChecking = true;18 configuration.EnableActorStateLogging = true;19 configuration.EnableActorStateSnapshotting = true;20 configuration.SchedulingIterations = 10;21 configuration.SchedulingSeed = 0;22 configuration.TestingIterations = 10;23 configuration.TestingProcessTimeout = 10000;24 configuration.TestingStrategy = TestingStrategy.PCT;25 configuration.Verbose = 2;26 configuration.ReportActivityCoverage = true;27 configuration.ReportBugFindingProgress = true;28 configuration.ReportCoverageData = true;29 configuration.ReportExploredGraph = true;30 configuration.ReportUnprovenSafetyProperties = true;31 configuration.ReportUnprovenLivenessProperties = true;32 configuration.ReportUnhandledExceptions = true;33 configuration.ReportUnhandledExceptionsAsFailures = true;34 configuration.ReportUnhandledExceptionsAsWarnings = false;35 configuration.ReportTestCoverage = true;36 configuration.SchedulingIterations = 10;37 configuration.SchedulingStrategy = SchedulingStrategy.FairPCT;38 configuration.SchedulingIterations = 10;39 configuration.SchedulingIterations = 10;
Check
Using AI Code Generation
1using Microsoft.Coyote.Actors;2using Microsoft.Coyote.Actors.BugFinding.Tests;3using System;4using System.Threading.Tasks;5{6 {7 static void Main(string[] args)8 {9 using (var runtime = RuntimeFactory.Create())10 {11 runtime.RegisterMonitor(typeof(DuplicateEventHandlersTests));12 runtime.CreateActor(typeof(DuplicateEventHandlersTests));13 runtime.Run();14 }15 }16 }17}
Check
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using Microsoft.Coyote.Actors;4using Microsoft.Coyote.Actors.BugFinding.Tests;5using Microsoft.Coyote.Actors.BugFinding;6using Microsoft.Coyote.Tests.Common;7using Microsoft.Coyote.Specifications;8using Microsoft.Coyote.SystematicTesting;9using Microsoft.Coyote.SystematicTesting.Tests;10using Microsoft.Coyote.SystematicTesting.Strategies;11using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding;12using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.Coverage;13using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR;14using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR.ScheduleExploration;15using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR.ScheduleExploration.ScheduleReduction;16using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR.ScheduleExploration.ScheduleReduction.ScheduleTree;17using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR.ScheduleExploration.ScheduleReduction.ScheduleTree.Reduction;18using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR.ScheduleExploration.ScheduleReduction.ScheduleTree.Reduction.Strategies;19using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR.ScheduleExploration.ScheduleReduction.ScheduleTree.Reduction.Strategies.Tactics;20using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR.ScheduleExploration.ScheduleReduction.ScheduleTree.Reduction.Strategies.Tactics.DPOR;21using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR.ScheduleExploration.ScheduleReduction.ScheduleTree.Reduction.Strategies.Tactics.DPOR.ScheduleTree;22using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR.ScheduleExploration.ScheduleReduction.ScheduleTree.Reduction.Strategies.Tactics.DPOR.ScheduleTree.Reduction;23using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR.ScheduleExploration.ScheduleReduction.ScheduleTree.Reduction.Strategies.Tactics.DPOR.ScheduleTree.Reduction.Strategies;24using Microsoft.Coyote.SystematicTesting.Strategies.BugFinding.DPOR.ScheduleExploration.ScheduleReduction.ScheduleTree.Reduction.Strategies.Tactics.DPOR.ScheduleTree.Reduction.Strategies.Tactics;
Check
Using AI Code Generation
1using Microsoft.Coyote.Actors;2using System;3using System.Collections.Generic;4using System.Text;5using System.Threading.Tasks;6using Microsoft.Coyote;7using Microsoft.Coyote.Actors.BugFinding.Tests;8using Microsoft.Coyote.Actors.BugFinding;9using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests;10{11 {12 static void Main(string[] args)13 {14 var test = new DuplicateEventHandlersTests();15 test.Check();16 }17 }18}19using Microsoft.Coyote.Actors;20using System;21using System.Collections.Generic;22using System.Text;23using System.Threading.Tasks;24using Microsoft.Coyote;25using Microsoft.Coyote.Actors.BugFinding.Tests;26using Microsoft.Coyote.Actors.BugFinding;27using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests;28using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests;29{30 {31 static void Main(string[] args)32 {33 var test = new DuplicateEventHandlersTests();34 test.Check();35 }36 }37}38using Microsoft.Coyote.Actors;39using System;40using System.Collections.Generic;41using System.Text;42using System.Threading.Tasks;43using Microsoft.Coyote;44using Microsoft.Coyote.Actors.BugFinding.Tests;45using Microsoft.Coyote.Actors.BugFinding;46using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests;47using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests;48using Microsoft.Coyote.Actors.BugFinding.Tests.DuplicateEventHandlersTests;49{50 {51 static void Main(string[] args)52 {53 var test = new DuplicateEventHandlersTests();54 test.Check();55 }56 }57}
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!