Značka Test

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 &

Přidejte komentář