Singleton Pattern With Selenium WebDriver + Java + TestNG

Поділитися
Вставка
  • Опубліковано 10 січ 2025

КОМЕНТАРІ • 26

  • @naveenautomationlabs
    @naveenautomationlabs  6 місяців тому +3

    GIT Repo URL : github.com/naveenanimation20/SeleniumWithDesignPatterns_Java.git

  • @panther0761
    @panther0761 21 день тому

    Really a nice topic and it just enhanced our knowledge day by day

  • @sayalichandane9312
    @sayalichandane9312 Місяць тому

    Thank you Naveen, you really doing very good job by upgrading all Job seekers to have latest technology understanding in simple and detailed way.
    I am currecntly trying to switch job and referring all your videos for interview. Thanks a lot again!!!

  • @mandheermaan
    @mandheermaan 6 місяців тому +2

    I Have watched almost all your videos, you have great depth knowledge with related Selenium and latest techies coming in the market. Great hard work done !!!

  • @snehalpujari2982
    @snehalpujari2982 4 місяці тому +1

    Thank you Naveen for such insightful content which keep motivating us and help lot to improve knowledge.

  • @tippanaudayabhaskar8334
    @tippanaudayabhaskar8334 6 місяців тому +1

    Thank you Naveen for making it clear using Singleton Pattern for parallel run using TestNG.

  • @JailParavai
    @JailParavai 3 місяці тому +1

    Excellent Bro

  • @RajibLama
    @RajibLama 6 місяців тому

    Thank you Naveen for clear my singleton pattern concept.

  • @MasterCardAmitJain
    @MasterCardAmitJain 2 місяці тому +1

    Wow Naveen

  • @whovishalmishra
    @whovishalmishra 5 місяців тому

    Amazing, simple and useful.

  • @emb3rke
    @emb3rke 6 місяців тому +3

    Great video, thank you. Why is it recommended to use Singleton pattern regarding WebDriver? What is the benefit of it?

    • @gourisankardash646
      @gourisankardash646 6 місяців тому

      @@emb3rke optimization of memory use by avoiding multiple objects creation.

  • @J.Ramanathan
    @J.Ramanathan 6 місяців тому +1

    Thank you Naveen

  • @bredlin_jose
    @bredlin_jose 6 місяців тому +1

    Hi Naveen, I integrated the same things with my existing framework, while executing the scripts the execution is not going good as expected.

  • @karnekantiarun4353
    @karnekantiarun4353 6 місяців тому +1

    Hi bro thanks for the content one query webdriver manager and app test class are from different package it will works with same package also TIA

    • @naveenautomationlabs
      @naveenautomationlabs  6 місяців тому

      Hi, it doesn't matter. You can call it from anywhere.
      Always, design your test classes under src/test/java and non test classes under src/main/java.

    • @karnekantiarun4353
      @karnekantiarun4353 6 місяців тому +1

      @@naveenautomationlabs Thanks bro pls continue all the design patterns series in java

  • @harisharipirala3346
    @harisharipirala3346 6 місяців тому

    Thanks for the Information but I have a question. Is it mandatory to implement singleton pattern while using ThreadLocal method. Because threadlocal itself is storing unique web driver thread instances right?

  • @Life_Observers
    @Life_Observers 6 місяців тому

    Hey Naveen,
    Please make a video on how to create portfolio

  • @Sanutainment
    @Sanutainment 6 місяців тому +1

    Thanks

  • @bihari1422
    @bihari1422 6 місяців тому

    Memwhile the office laptop is facing difficulty to handle one instance of Chrome(after 114 lot of memory is being consumed by Chrome only )...

  • @zakirvnr6011
    @zakirvnr6011 Місяць тому

    When, we are telling, we have implemented singleton pattern. We mean same object is shared.
    From basic java, we know an object has state.
    Since same obejct is being shared does it cause interference, if two tests use same object.

  • @kamesh70
    @kamesh70 6 місяців тому +1

    Hi Naveen: Got a clarity on how to implement Singleton pattern. I have implemented it following your videos whereas when i triggered parallel tests with different browsers it's running always on chrome even though I have provided chrome, firefox & edge browser. Can you help me the reason.
    One more issue. I cloned your repository and tried running the tests and getting
    java.lang.IllegalStateException: object already exists
    at SeleniumWithSingleton.WebDriverManager.initDriver(WebDriverManager.java:19)
    at SeleniumWithSingleton.WebDriverManager.getInstance(WebDriverManager.java:48)
    at mytests.AppTest.setUp(AppTest.java:20)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
    at org.testng.internal.invokers.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:69)
    at org.testng.internal.invokers.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:361)
    at org.testng.internal.invokers.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:296)
    at org.testng.internal.invokers.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:180)
    at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:122)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
    at org.testng.TestRunner.privateRun(TestRunner.java:829)
    at org.testng.TestRunner.run(TestRunner.java:602)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:437)
    at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:475)
    at org.testng.internal.thread.ThreadUtil.lambda$execute$0(ThreadUtil.java:58)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
    java.lang.IllegalStateException: object already exists
    at SeleniumWithSingleton.WebDriverManager.initDriver(WebDriverManager.java:19)
    at SeleniumWithSingleton.WebDriverManager.getInstance(WebDriverManager.java:48)
    at mytests.AppTest.setUp(AppTest.java:20)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
    at org.testng.internal.invokers.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:69)
    at org.testng.internal.invokers.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:361)
    at org.testng.internal.invokers.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:296)
    at org.testng.internal.invokers.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:180)
    at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:122)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
    at org.testng.TestRunner.privateRun(TestRunner.java:829)
    at org.testng.TestRunner.run(TestRunner.java:602)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:437)
    at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:475)
    at org.testng.internal.thread.ThreadUtil.lambda$execute$0(ThreadUtil.java:58)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)

    • @tester9586
      @tester9586 5 місяців тому

      I get an error same. Hi @naveen, how can we solve this issue?

    • @pranavhanwante5301
      @pranavhanwante5301 4 місяці тому +1

      Comment below in project
      // if (instance != null) { // handling reflection attack
      // throw new IllegalStateException("object already exists");
      // }