java.lang.AbstractMethodError in widget subclasses
メンテナーはふだん 5 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- java
- 領域
- mobile-dev
調査の方向性
Tab と AndroidTab の再現コードから始め、Appium Java client が @OverrideWidget 用のウィジェットサブクラスをどのように作成するかを追跡します。生成された Tab$ByteBuddy クラスと isSelected() の呼び出しを調査し、Java 11、Appium 2.1.3、java-client 8.6.0 の環境で失敗を再現します。ウィジェットサブクラスの抽象メソッドが AbstractMethodError を生成しなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Java
- スター
- 1.3k
- フォーク
- 755
- 平均マージ
- 5日 14時間
- マージ済み PR(30日)
- 8
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
appium/java-client のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
appium/java-client#2426 ·
メンテナーはふだん 5 日以内に返信
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 50/100
appium/java-client#2372 ·
メンテナーはふだん 5 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
appium/java-client#2368 ·
メンテナーはふだん 5 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 30/100
appium/java-client#2341 · コメント 1 件 ·
メンテナーはふだん 5 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
appium/java-client#2323 ·
メンテナーはふだん 5 日以内に返信
appium/java-client の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
refinedmods/refinedstorage2#1414 · コメント 1 件 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
In Java's `LongBoundedSum`, setting `lower` to `Long.MIN_VALUE` under-estimates the sensitivityオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
google/differential-privacy#489 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
link-check link-check:manual
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100