Ostatnio dużo więcej czasu poświęcam na testy integracyjne, głównie za sprawą duetu cucumber + celerity. Daje to bardzo dobre wyniki, bo przeglądarka w pamięci radzi sobie z większością skryptów i zarazem nie trzeba godzinami czekać, tak jak w przypadku uruchamiania wszystkich scenariuszy w realnej przeglądarce.
Możliwości są duże, ale niestety jak na razie wykorzystuję tylko i wyłącznie celerity, a fajnie byłoby mieć feedback z przeglądarek. Tylko komu się będzie chciało zamulać kompa na kilkanaście minut i czekać aż system łaskawie przeklika takiego firefoxa czy operę.
Rozwiązanie jest oczywiście proste - uruchomić testy na serwerze.
Zakładając, że trzeba będzie tych testów trochę odpalić, fajnie byłoby dostać wyniki szybciej, czyli wykonać testy równolegle w kilku przeglądarkach. Dodatkowo nie znalazłem na razie prostej metody na włączenie/wyłączenie javascriptu w przeglądarce z poziomu API watira, więc najlepiej uruchomić testy na 2 przeglądarkach - jednej z włączonym javascriptem (np. te oznaczone tagiem @js) i z wyłączonym. Potrzeba będzie więc do tego jakiegoś serwera lub kilku mniejszych serwerów. I teraz czysto teoretyczne pytanie: Jak najlepiej z punktu widzenia wydajności uruchamiać dużą ilość przeglądarek? Duża liczba małych serwerków dedykowanych, duża liczba małych zwirtualizowanych instancji na jednym mocnym serwerze czy mniejsza liczba mocniejszych serwerów, na których odpalone będzie po kilka przeglądarek?
Wiem, że pytanie jest bardzo teoretyczne i tak czy siak nie będę miał pewnie dostępu do bardziej zmyślnej konfiguracji niż dedyk w ovh (względnie jakieś instancje amazonu ec2), ale problem wydaje mi się dość ciekawy