I have inherited from others a big project of testing whose main Java classes are CommonSteps, CommonBase and CommonScript. They are currently related in this way:
CommonSteps extends CommonBase
CommonBase extends CommonScript
The problem is with the next method when I try to run the project with mvn clean install
:
@After
public void tearDown(Scenario scenario) {
if (scenario.isFailed()) {
// Take a screenshot...
final byte[] screenshot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
scenario.embed(screenshot, "image/png"); // ... and embed it in the report.
}
}
I get the error:
cucumber.runtime.CucumberException: You're not allowed to extend classes that define step definitions or hooks: steps.CommonSteps extends class common.CommonBase.
How could I start working with dependency injection deleting everything related to inheritance?