assertj / assertj/assertj-swing
JComboBoxFixture.selectItem don't always work as expected
- 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