assertj / assertj/assertj-swing

JComboBoxFixture.selectItem don't always work as expected

Aperta
#211 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
121
Fork
52
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Riproduci il ciclo dell’issue, inclusa la selezione per indice e per testo, nonché il workaround del clic esplicito. Parti dal punto di ingresso JComboBoxFixture.selectItem e verifica perché la selezione a volte rimane all’indice 0. Il lavoro è completato quando esecuzioni ripetute selezionano in modo affidabile l’elemento richiesto senza richiedere un clic precedente.

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

Valutazione

Stack tecnologico
java
Ambito
desktop, testing
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.