Search code examples
javacucumbercucumber-jvm

How to pass value from testng.xml to hooks java class


Passing value from testNG.xml to hooks file gives error When a hook declares an argument it must be of type cucumber.api.Scenario. public void Step_Defination.Hooks.openBrowser(java.lang.String) throws java.io.IOException hooks.java class TestNG.xml


Solution

  • When using TestNG & Cucumber together, we shall not use @Before (cucumber.api.java.Before) to read values from testng.xml rather we shall use @BeforeTest (org.testng.annotations.BeforeTest) Below is an example of Hooks.java

    import org.testng.annotations.BeforeTest;
    import org.testng.annotations.Parameters;
    import cucumber.api.testng.AbstractTestNGCucumberTests;
    
    public class Hooks extends AbstractTestNGCucumberTests {
    
        @Parameters({ "browser" })
        @BeforeTest
        public void setUpScenario(String browser){
            //BaseSteps.getInstance().getBrowserInstantiation(browser);
        }
    }