Automatyczne testy dla Java Swing GUIs [zamknięty]

zamknięte. to pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi.

chcesz poprawić to pytanie? Update the pytanie więc to on-topic {[3] } dla przepełnienia stosu.

Zamknięte 3 lata temu .

Popraw to pytanie

Jakie są opcje budowania automatycznych testów GUI napisanych w Javie Swing?

Chciałbym przetestować GUI, które zostały napisane przy użyciu NetBeans Swing GUI Builder , więc coś, co działa bez konieczności specjalnego manipulowania testowanym kodem, byłoby idealne.

Author: finnw, 2008-09-18

13 answers

Ostatnio natknąłem się na FEST, który wydawał się obiecujący, z tym, że deweloper ogłosił w 2012 roku, że rozwój nie będzie kontynuowany.

AssertJ to widelec FEST, który działa bardzo dobrze dla mnie. Jest aktywnie utrzymywana (w czasie pisania), obsługuje Javę 8, posiada kilka popularnych bibliotek, takich jak Guava i Joda Time, I jest bardzo dobrze udokumentowana. Jest również bezpłatny i otwarty.

 33
Author: Jwest08,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-29 15:05:02

Obecnie używam FEST. Działa z JUnit i będzie również robić zrzuty ekranu z nieudanych testów.

Posiada domyślne metody wyszukiwania komponentów, które szukają nazwy testowanego komponentu( które należy ustawić ręcznie), ale można również wygenerować testery dla danego komponentu, przekazując mu komponent.

 26
Author: deterb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 11:15:26

Możesz spróbować użyć Cucumber i Swinger do pisania testów akceptacyjnych funkcjonalnych w prostym języku angielskim dla aplikacji Swing GUI. Swinger korzysta z biblioteki Jemmy Netbeans pod maską, aby napędzać aplikację.

Ogórek pozwala pisać takie testy:

 Scenario: Dialog manipulation
    Given the frame "SwingSet" is visible
      And the frame "SwingSet" is the container
    When I click the menu "File/About"
    Then I should see the dialog "About Swing!"
    Given the dialog "About Swing!" is the container
    When I click the button "OK"
    Then I should not see the dialog "About Swing!"
Kliknij i zobacz najlepsze darmowe filmy erotyczne z Bazy Kilku Milionów Porno Filmów Za Darmo z Swinger.
 14
Author: Dema,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-10 19:09:20

Rozważamy jemmy aby zautomatyzować niektóre testy GUI. Wygląda obiecująco.

 9
Author: Jayan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-16 18:39:24

Używam java.awt.Robot. Nie jest miły, nie jest łatwy, ale działa za każdym razem.

Plusy:

  • you are in control
  • bardzo szybko
  • Zbuduj własny FWK
  • Przenośne
  • brak zewnętrznych zależności

Wady:

  • No nice GUI to build test
  • musisz zostawić GUI w spokoju podczas testowania
  • Zbuduj własny FWK
  • trudno zmienić kod testowy i stworzyć swoją pierwszą uprząż

Teraz, jeśli masz budżet, chciałbym / align = "left" / Najlepszy w klasie.

(ujawnienie: związek z firmą, która jest właścicielem LR, ale pracowałem z LR przed związkiem)

 8
Author: Javaxpert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 13:20:09

Używamy QF-Test i jesteśmy bardzo zadowoleni.

 7
Author: ahu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 11:39:07

Nie używałem go osobiście, ale SwingUnit wygląda całkiem nieźle. Można go używać z jUnit i nie jest on oparty na " lokalizacji komponentów "(tj. współrzędnych x i y).

Jedyną rzeczą, którą możesz mieć do zrobienia z NetBeans GUI Builder jest ustawienie unikalnych nazw dla swoich komponentów.

 6
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 10:25:12

Możesz użyć Maraton : "MarathonITE, zintegrowane środowisko testowe MarathonITE, to niedrogi, łatwy w użyciu i wieloplatformowy framework automatyzacji testów Java/Swing™. Możesz użyć wbudowanego rejestratora skryptów MarathonITE do tworzenia czystych, czytelnych skryptów testowych w Pythonie lub Ruby. Zaawansowane funkcje, takie jak refaktoryzacja metody ekstrakcji, testy create-datadriven i edycja objectmap, pozwalają na tworzenie łatwych do utrzymania, odpornych pakietów testowych."

 4
Author: Hashan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-06 14:23:41

Sikuli: GUI-tester wykorzystujący screeny http://sikuli.org/

 3
Author: Viktor Mellgren,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-28 07:09:27

Możesz spróbować ReTest, który jest nowatorskim narzędziem, które wdraża innowacyjne podejście do testowania regresji funkcjonalnej i łączy je z testowaniem małp opartym na sztucznej inteligencji. Wkrótce stanie się również open source...

Zastrzeżenie: jestem jednym z założycieli firmy stojącej za Retestem.

 3
Author: roesslerj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-04 22:22:42

Dla tych, którzy mają śmiały umysł, jest lepki https://github.com/robertoaflores/Gooey a (bardzo podstawowe i niedorozwinięte) programmatic testing tool for swing applications.

 2
Author: Roberto Flores,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-29 16:45:06

Możesz używać sikuli lub Automa do testowania swojej części GUI, są to dobrze udokumentowane i przetestowane narzędzia

 1
Author: Sanjit Kumar Mishra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-03 11:16:55

Zrobiłem kilka szybkich skanów. Najbardziej obiecujący był Squish. Jednak nie za darmo

 1
Author: amutter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-04-03 07:29:37