Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

java.lang.AbstractMethodError in widget subclasses

Aperta
#2,043 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
java
Ambito
mobile-dev

Direzione di ricerca

Inizia con il riproduttore di Tab e AndroidTab e traccia il modo in cui Appium Java client crea le sottoclassi dei widget per @OverrideWidget. Esamina la classe Tab$ByteBuddy generata e la chiamata a isSelected(), quindi riproduci il fallimento nell’ambiente con Java 11, Appium 2.1.3 e java-client 8.6.0. Il lavoro è completato quando i metodi astratti nelle sottoclassi dei widget non producono più AbstractMethodError.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Description

Since java-client 8.6.0 calling the implementation of abstract methods in widget subclasses results in throwing exception java.lang.AbstractMethodError.

Environment

  • Java-client 8.6.0
  • Appium 2.1.3
  • Java 11

Code To Reproduce Issue [ Good To Have ]

Widgets:

public abstract class Tab extends Widget {

    protected Tab(WebElement element) {
        super(element);
    }

    public abstract boolean isSelected();
}
public class AndroidTab extends Tab {

    protected AndroidTab(WebElement element) {
        super(element);
    }

    @Override
    public boolean isSelected() {
        return getWrappedElement().isSelected();
    }
}

Screen:

@AndroidFindBy(id = "loginTab")
@OverrideWidget(androidUIAutomator = AndroidTab.class, iOSXCUITAutomation = IosTab.class)
private Tab loginTab;

public boolean isLoginTabSelected() {
    return loginTab.isSelected();
}

Exception Stacktraces

java.lang.AbstractMethodError: Receiver class autotests.component.tab.Tab$ByteBuddy$WYq3RqHe does not define or inherit an implementation of the resolved method 'abstract boolean isSelected()' of abstract class autotests.component.tab.Tab.
at autotests.screen.authorization.LoginScreen.isLoginTabSelected

Lingua principale
Java
Stelle
1.3k
Fork
755
Merge medio
5g 14h
PR unite (30g)
8

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di appium/java-client

Tutte le issue di appium/java-client

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.