【PhpSelenium】1.環境安裝

AR414發表於2019-12-17
僅用於交流和學習,禁止利用本資源從事任何違反本國(地區)法律法規的活動,一切遵守《網路安全法》

Selenium介紹

  • 行業簡稱 無頭瀏覽器
  • 主要用於自動化測試
  • 也用於模擬使用者操作進行爬蟲
  • 框架底層使用JavaScript模擬真實使用者對瀏覽器進行操作。測試指令碼執行時,瀏覽器自動按照指令碼程式碼做出點選,輸入,開啟,驗證等操作,就像真實使用者所做的一樣,從終端使用者的角度測試應用程式。
  • 使瀏覽器相容性測試自動化成為可能,儘管在不同的瀏覽器上依然有細微的差別。
  • 使用簡單,可使用Java,Python等多種語言編寫用例指令碼。
  1. 安裝 java環境
    [root@ar414.com ~] yum -y install java

2.安裝 chrome

#使用下面的命令,在root使用者下就可以安裝最新的 Google Chrome  
[root@ar414.com ~] yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

3.安裝 selenium

  • selenium官網找到最新的版本,下載 selenium-server-standalone-X.XX.X.jar檔案

4.安裝 chromedriver

  • chromedriver下載對應Chrom版本的ChromeDriver壓縮包,解壓得到chromedriver檔案
    chromedriver_linux64.zip

5.將下載的檔案解壓,放在如下位置

[root@ar414.com ~] unzip ./chromedriver_linux64.zip  
[root@ar414.com ~] mv ./chromedriver /usr/bin/chromedriver

6.給予執行許可權

[root@ar414.com ~] vim /usr/bin/xvfb-chrome

7.安裝 XVFB

[root@ar414.com ~] yum install Xvfb -y  
[root@ar414.com ~] yum install xorg-x11-fonts* -y

8.新建在/usr/bin/ 一個名叫 xvfb-chrom 的檔案寫入以下內容

#!/bin/bash  
_kill_procs() {   
      kill -TERM $chrome  
      wait $chrome
      kill -TERM $xvfb   
 }   

Setup a trap to catch SIGTERM and relay it to child processes 
rap _kill_procs SIGTERM 

VFB_WHD=${XVFB_WHD:-1280x720x16}
Start Xvfb 
vfb :99 -ac -screen 0 $XVFB_WHD -nolisten tcp & 

vfb=$! 
xport DISPLAY=:99 

chrome --no-sandbox --disable-gpu$@ &
chrome=$! 

wait $chrome 
wait $xvfb

9.新增執行許可權

chmod +x /usr/bin/xvfb-chrome

10.檢視當前對映關係

[root@ar414.com ~] ll /usr/bin/ | grep chrom  
-rwxr-xr-x 1 root root 7874704 Mar 20 14:55 chromedriver  
lrwxrwxrwx 1 root root 31 Mar 20 00:24 google-chrome -> /etc/alternatives/google-chrome  
lrwxrwxrwx 1 root root 32 Mar 20 14:30 google-chrome-stable -> /opt/google/chrome/google-chrome

11.更改Chrome啟動的軟連線

[root@ar414.com ~] ln -s /etc/alternatives/google-chrome /usr/bin/chrome  
[root@ar414.com ~] rm -rf /usr/bin/google-chrome  
[root@ar414.com ~] ln -s /usr/bin/xvfb-chrome /usr/bin/google-chrome

12.檢視修改後的對映關係

[root@ar414.com ~] ll /usr/bin/ | grep chrom  
-rwxr-xr-x 1 root root 7874704 Mar 20 14:55 chromedriver  
lrwxrwxrwx 1 root root 31 Mar 20 00:24 chrome -> /etc/alternatives/google-chrome  
lrwxrwxrwx 1 root root 22 Mar 20 00:11 google-chrome -> /usr/bin/xvfb-chromium  
lrwxrwxrwx 1 root root 32 Mar 20 14:30 google-chrome-stable -> /opt/google/chrome/google-chrome  
-rwxr-xr-x 1 root root 432 Mar 20 00:09 xvfb-chrome

13.後臺執行selenium服務

#Tip:一般我線上環境都會用supervisor守護程式來保證服務一直處於執行狀態,在遇到程式異常、報錯等情況可以立刻重啟,繼續提供服務,有時間會寫一個supervisor的實戰文章
[root@ar414.com ~] nohup java -jar selenium-server-standalone-3.141.59.jar &

相關文章