Imprimatur
Imprimatur jest małą aplikacją napisaną w Javie, której autorem jest Tony Locke. Przeznaczona jest do przeprowadzania testów funkcjonalności witryn internetowych. Jej zasada działania jest bardzo prosta – wysyła do serwera HTTP przygotowane zapytania i otrzymaną odpowiedź porównuje do oczekiwanego numeru statusu i wyrażenia regularnego. W porównaniu odpowiedzi bierze udział nie tylko jej ciało, ale również zestaw nagłówków.
Dane testowe przechowywane są w pliku XML.
<imprimatur port="8080" hostname="localhost">
<test name="Check localhost">
<request path="/tests/strona.html">
<response-code value="200" />
<regex pattern=".*Test OK.*" />
</request>
<request path="/tests/strona.html" method="post">
<response-code value="200" />
<regex pattern=".*Test OK.*" />
</request>
</test>
</imprimatur>
W głównym węźle imprimatur określony jest numer portu i adres serwera. Następnie można zdefiniować zestaw testów, nadając im nazwy, oraz definiując dla nich zestawy zapytań. Dla każdego zapytania możemy zdefiniować adres do zasobu, oraz metodę (GET, POST, PUT, HEAD, DELETE), a do sprawdzenia poprawności odpowiedzi jej status i wyrażenie regularne.
Testy przeprowadzane są w sposób zautomatyzowany. Do uruchomienia programu Imprimatur jako parametr podawany jest adres do pliku XML z testami, następnie wysyła on do serwera zapytania zdefiniowane w tym pliku. Na ekranie konsoli wypisywane są kolejno przeprowadzane testy, a po zakończeniu wszystkich komunikat o pomyślnym zakończeniu. Jeżeli któraś z otrzymanych od serwera odpowiedzi nie będzie pasować do tych zdefiniowanych w pliku, program przerwie działanie wyświetlając otrzymaną od serwera odpowiedź i rezultat oczekiwany.
Serwer HTTP 