2016-04-01 28 views
5

Używam PhantomJS do przeprowadzania niektórych testów automatycznych za pomocą funkcji Codeception. Kiedy generuję zrzut ekranu, strona pokazuje, ale żaden z tekstów nie działa, tak jak w poniższym przykładzie.Zrzuty ekranowe PhantomJS nie wyświetlają tekstu

enter image description here

Oto skrypt używam zainstalować phantomjs. Używam CentOS 7.1

echo "## Install phantomjs dependencies" 
sudo yum install freetype-devel fontconfig-devel libicu-devel gcc glib libpng-devel bison sqlite-devel gperf flex libjpeg-devel -y 

echo "## Install phantomjs" 
cd ~ 
PHANTOM_JS="phantomjs-2.1.1-linux-x86_64" 
wget https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2 
sudo mv $PHANTOM_JS.tar.bz2 /usr/local/share/ 
cd /usr/local/share/ 
sudo tar xvjf $PHANTOM_JS.tar.bz2 
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/share/phantomjs 
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin/phantomjs 
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/bin/phantomjs 
sudo rm -fr $PHANTOM_JS.tar.bz2 
phantomjs -v 

Moją pierwszą myślą było mi brakuje biblioteki czcionek, ale z tego co czytałem na phantomjs site powinienem mieć wszystkie pakiety.

Odpowiedz

8

Wygląda na to, że moja wersja CentOS nie ma żadnych zainstalowanych czcionek. Dodanie następujących linii do mojego skryptu instalacyjnego PhantomJS dodało kilka czcionek do systemu, a zrzuty działały zgodnie z oczekiwaniami.

sudo yum install cabextract xorg-x11-font-utils -y 
sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm 
0

Jeśli nie widać tekst w screeny po zainstalowaniu czcionek, upewnij się, że używasz prawidłowego user-agent, który mówi to, co jest system operacyjny, że urządzenie pracuje dalej. Np:

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36 

- z tego nie widzę tekstu.

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36 

- z tym widzę tekst.

Używam systemu Linux CentOS.