Automatizované testování webových stránek v Linuxu
Nezáleží na tom jestli vyvíjíte novou aplikaci nebo jste webové stránky už publikovali, vždy potřebujete vědět zda všechny funkce běží bez zaškobrtnutí. Testování stránek je pracná a ubíjející činnost, proč si ji nezjednodušit?
Standardem pro automatické testování je framework Selenium, obslužný z programovacích jazyků Ruby, Java, Python, C# nebo z JavaScriptu. Syntetické testy poskytuje např. i New Relic. Možná se nechcete seznamovat s celým frameworkem nebo máte jiné specifické požadavky na testování. Pak můžete využít jednoduchosti nástroje chromedriver. Stačí nainstalovat prohlížeč Chrome a chromedriver a můžete začít testovat pomocí skvěle dokumentovaného standardu WebDriver od W3C.
Spouštění automatizovaných testů na desktopu
Situace na desktopu (používám Ubuntu) je velmi jednoduchá. Stačí k prohlížeči Chrome nainstalovat chromedriver:
sudo apt-get install chromium-chromedriver
Spusťte chromedriver:
./chromedriver &
Získejte session:
curl -d '{ "desiredCapabilities": { "caps": { "nativeEvents": false, "browserName": "chrome", "version": "", "platform": "ANY" } } }' http://localhost:9515/session # výstup: {"sessionId":"0552e41dfe1e337169d312ccc19c460a","status":0}
Načtěte webovou stránku:
curl -d '{"url":"https://www.triqo.cz"}' http://localhost:9515/session/0552e41dfe1e337169d312ccc19c460a/url
Podobným způsobem můžete najít a vyplnit formulářové pole, odeslat formulář atp.. Zde jsou příklady použití WebDriveru.
Spouštění automatizovaných testů na Centos serveru
Na serveru je situace malinko složitější. Pravděpodobně nemáte nainstalované grafické prostředí. V operačním systému Centos je proto zapotřebí nainstalovat displej server Xvfb.
sudo yum install xorg-x11-server-Xvfb nano unzip -y sudo nano /etc/systemd/system/xvfb.service
[Unit] Description=Xvfb headless plotting After=network.target [Service] User=root ExecStart=/usr/bin/Xvfb :0 -screen 0 1280x1024x24 [Install] WantedBy=multi-user.target Alias=Xvfb.service Alias=xvfbd.service
sudo chmod +x /etc/systemd/system/xvfb.service
sudo systemctl daemon-reload
sudo systemctl enable xvfb.service --now
export DISPLAY=:0.0
Nyní nainstalujte další potřebné knihovny:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
sudo dnf config-manager --set-enabled powertools
sudo dnf install dnf-plugins-core -y
sudo yum install GraphicsMagick -y
Nainstalujte prohlížeč Chrome a ovladač chromedriver. Pozor, každá verze Chrome má vlastní chromedriver, vyberte si vhodný na stránce chromedriveru.
sudo yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm -y google-chrome-stable --version # výstup: Google Chrome 91.0.4472.164
wget https://chromedriver.storage.googleapis.com/91.0.4472.101/chromedriver_linux64.zip unzip chromedriver_linux64.zip sudo mv chromedriver /usr/bin/chromedriver rm -f chromedriver_linux64.zip sudo chown root:root /usr/bin/chromedriver sudo chmod 0755 /usr/bin/chromedriver chromedriver --version # výstup: ChromeDriver 91.0.4472.101
Spusťte chromedriver a můžete začít psát vlastní automatizované testy:
chromedriver &