assertj / assertj/assertj-swing

JComboBoxFixture.selectItem don't always work as expected

Offen
#211 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
121
Forks
52
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hi Joel.
First of all, thank you for your very interesting work. I've been using assertJ-core and assertJ-swing for several weeks now (and I like it a lot), but I'm experiencing random failures in my tests when playing with comboboxes.

Consider the following loop :
```
for (int i = 0; i < 10; i++) {
GuiActionRunner.execute(() -> {
JComboBox combo = new JComboBox<>();
combo.addItem("item_1");
combo.addItem("item_2");
jFrame = Containers.frameFor(combo);
jFrame.setName(this.getClass().getName());
jFrame.setVisible(true);
});

FrameFixture frame = new FrameFixture(jFrame);
frame.comboBox().selectItem(1);
frame.comboBox().requireSelection(1); // **** randomly fails *****
frame.cleanUp();
}
```
A ComparisonFailure is thrown most of the time, after a random number of iterations.
```
org.junit.ComparisonFailure: [javax.swing.JComboBox[name=null, selectedItem='item_1', contents=["item_1", "item_2"], editable=false, enabled=true, visible=true, showing=true] - property:'selectedIndex'] expected:<[1]> but was:<[0]>
```
I found a workaround by **explicitly clicking** on combo before selecting item.
```
frame.comboBox().click().selectItem(1);
```
I noticed the problem whenever selecting items using index or text.
What do you think ? Am I missing something or is it actually an issue ?
Regards

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Reproduziere die Schleife aus dem Issue, einschließlich der Auswahl per Index und Text sowie des Workarounds mit explizitem Klick. Beginne am Einstiegspunkt JComboBoxFixture.selectItem und untersuche, warum die Auswahl manchmal bei Index 0 verbleibt. Als erledigt gilt die Aufgabe, wenn wiederholte Durchläufe das angeforderte Element zuverlässig auswählen, ohne dass zuvor ein Klick erforderlich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
desktop, testing
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.