RE: How to pass the WebDriver instance to other Class in Selenium/Java/TestNG?

I have Class A and Class B. Class A has the driver initialization and opening the IE browser. I am able to run the test for all the @Test define in Class A which is working fine as expected but I am not able to execute @Test of Class B as the driver instance become NULL.

I tried to use @BeforeSuite and @BeforeTest but it’s not solving my purpose as the driver instance is valid only in Class A.

Can you please suggest me the solution so that I can initialize the driver only once to use for all the remaining Class rather then only for the Class it’s initialize?

I don’t want to create object of Class A and pass it to Class B to access the method.

Thanks in advance for your input.

biresh126 Default Asked on March 24, 2015 in Selenium WebDriver.
Add Comment
10 Answers

Define static webdriver in base classs and extend base class in other class.

class Base

{  public static Webdriver driver;

public Webdriver getDriver()

{return driver;

}

}

 

public class b extends a

{public webdriver driver=getdriver();

}

Train Answered on March 28, 2017.

Hey super,

I was struggling with this issue. Tried/got lot of opinion from various people, but no go.

Just made the webdriver as static as you advised. And it started working 🙂

on July 11, 2017.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.