Version 1, last updated by ravn at December 29, 2009 16:17 UTC
Testy Selenium
Selenium jest narzędziem służącym do testowania interfejsu (testów integracyjnych). Wymaga zdeployowanej i działającej aplikacji, do której dostęp można uzyskać przez przeglądarkę. W naszym projekcie testy selenium znajdują się w osobnym module functional-tests, który może być aktywowany w standardowym buildzie przy pomocy zmiennej functional-test np. mvn clean install -Dfunctional-test zbuduje aplikację i wykona testy integracyjne. Profil functional-test jest związany z profilem local, więc aplikacja testowana będzie w środowisku lokalnym.
Moduł z testami jest tak skonfigurowany, że odpala, przy pomocy cargo, jetty'ego (na porcie 8081, więc powinien być wolny) i deployuje tam archiwum war z modułu web. Następnie uruchamia serwis selenium, po czym odpala kolejno testy zawarte w pakiecie fiveMinsMail.it. Dla każdego testu odpalana jest przeglądarka Firefox (musi być wcześniej w systemie), po czym przeprowadzany jest test. Dla systemów uniksowych wymagany jest program Xvfb, który umożliwia uruchomienie firefoxa i przeprowadzenie testów bez aktywnej sesji X'ów (np. podczas połączenia zdalnego przez ssh). Dla Windows nie jest to możliwe.
Aby wykonanie polecenia:
mvn clean install -Dfunctional-test
powiodło się, należy zwiększyć przydział pamięci dla maszyny wirtualnej Javy, np.:
export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"