java.lang.AbstractMethodError in widget subclasses
Maintainer antworten meist innerhalb von 5 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- java
- Bereich
- mobile-dev
Rechercherichtung
Beginne mit dem Tab- und AndroidTab-Reproducer und verfolge, wie der Appium Java client Widget-Unterklassen für @OverrideWidget erstellt. Untersuche die generierte Tab$ByteBuddy-Klasse und den Aufruf von isSelected(), und reproduziere den Fehler in der Umgebung mit Java 11, Appium 2.1.3 und java-client 8.6.0. Als abgeschlossen gilt die Aufgabe, wenn abstrakte Methoden in Widget-Unterklassen keinen AbstractMethodError mehr auslösen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Java
- Sterne
- 1.3k
- Forks
- 755
- Ø Merge
- 5 T. 14 Std.
- Gemergte PRs (30 T.)
- 8
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus appium/java-client
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
appium/java-client#2426 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 50/100
appium/java-client#2372 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
appium/java-client#2368 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 30/100
appium/java-client#2341 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
appium/java-client#2323 ·
Maintainer antworten meist innerhalb von 5 Tagen
Alle Issues in appium/java-client
Ähnliche Issues
-
link-check link-check:manual
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 91/100
open-telemetry/opentelemetry-java#8870 ·
Maintainer antworten meist innerhalb von 1 Tag
-
P2 testing
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement javascript
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
area/core kind/bug status/triage team/core-shared
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag