I tried to migrate my Java project to Maven in IntelliJ as it should. After it I tried to add dependencies to pom.xml Right now the pom xml looks like this:
<groupId>groupId</groupId>
<artifactId>TravelLedger</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.9.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-support -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-support</artifactId>
<version>4.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jbehave/jbehave-core -->
<dependency>
<groupId>org.jbehave</groupId>
<artifactId>jbehave-core</artifactId>
<version>4.1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jbehave.web/jbehave-web-selenium -->
<dependency>
<groupId>org.jbehave.web</groupId>
<artifactId>jbehave-web-selenium</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>2.0b2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.5</version>
<scope>compile</scope>
</dependency>
</dependencies>
I get the following error message when I execute clean install:
travelledgerJbehave.webdriver.pages.LoginPagePOM is not abstract and does not override abstract method actionsBuilder() in org.openqa.selenium.HasInputDevices
The LoginPagePom class:
public class LoginPagePOM extends AbstractPage {
private WebDriverProvider driverProvider;
public LoginPagePOM(WebDriverProvider driverProvider) {
super(driverProvider);
this.driverProvider = driverProvider;
}
public void open() {
get("https://qa.abtlg.io");
manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}}
The AbstractPage class:
public abstract class AbstractPage extends WebDriverPage {
public AbstractPage(WebDriverProvider driverProvider) {
super(driverProvider);
}
public void found(String text) {
found(getPageSource(), text);
}
public void found(String pageSource, String text) {
if (!pageSource.contains(escapeHtml(text))) {
fail("Text: '" + text + "' not found in page '" + pageSource + "'");
}
}
public void found(List<String> texts) {
for (String text : texts) {
found(text);
}
}
public void notFound(String text) {
notFound(getPageSource(), text);
}
public void notFound(String pageSource, String text) {
assertThat(pageSource.contains(escapeHtml(text)), is(false));
}
private String escapeHtml(String text) {
return text.replace("<", "<").replace(">", ">");
}}
What could be the solution?