Class is not abstract and does not override abstract method actionsBuilder() in org.openqa.selenium.HasInputDevices

373 views Asked by At

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("<", "&lt;").replace(">", "&gt;");
    }}

What could be the solution?

0

There are 0 answers