centos7.4環境配置selenium+python3+chrome環境


在基於selenium進行的UI自動化測試中,開發調試環境一般都是windows操作系統。完成后需要部署到專門的測試環境。

如要要部署到linux環境的服務器(阿里雲、騰訊雲)執行,那么測試腳本也需要對應的瀏覽器支持, 才能正常進行測試。

這篇博客,介紹下如何在如何在linux環境安裝python、chrome、chromium、Xvfb的命令和方法。。。

 

1、安裝python

linux系統自帶python,不過一般都是2.6或者2.7版本,可以通過命令 python -V 查看當前的python版本號

如果你用的python3.0+的版本,那么就需要升級為本地開發對應的python版本,可以輸入下面的命令來升級:

從下載鏈接下載安裝包: wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz 

linux安裝python3及pip3參考這篇博客https://www.cnblogs.com/fcc-123/p/11586707.html

然后可以將剛剛下載的解壓包和解壓出來的文件夾刪掉。安裝成功后,可以輸入 whereis python3 查看安裝路徑

輸入python3,可以進入python命令行,輸入print測試,然后就是pip命令安裝自己需要的python庫。

 

2、關於chrome

linux環境下運行UI自動化測試腳本,並不是不需要chrome瀏覽器,只是不需要顯示界面,但實際它還是在瀏覽器內操作的。

利用的只是它的headless模式(chrome瀏覽器在59版本之后的正式版里加入了headless模式 ,即:無界面模式)。

我的linux版本:Centos7.4:64位

PS:chrome已不支持Linux 32位,也不支持Centos,所以如果你的服務器是Centos的話,只能安裝Chromium(都是google的產品,這個是開源項目)。

對Centos不熟悉的童鞋,可以參考這里:Centos yum源的配置與使用

 

3、安裝chrome

在目錄/etc/yum.repos.d/下新建文件google-chrome.repo,命令如下:

 cd /ect/yum.repos.d/

 vim google-chrome.repo 

在該文件中添加如下內容:

1 [google-chrome]
2 name=google-chrome
3 baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
4 enabled=1
5 gpgcheck=1
6 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

然后保存退出,輸入如下命令:

 yum -y install google-chrome-stable 

PS: Google官方源可能在中國無法使用,導致安裝失敗或者在國內無法更新,可以添加以下參數來安裝:

 yum -y install google-chrome-stable --nogpgcheck 

 

4、安裝chromium

安裝chromium的方法有兩種,請自行選擇。。。

①、輸入命令 cd /etc/yum.repos.d ,進入yum源目錄,然后輸入命令 wget http://people.centos.org/hughesjr/chromium/6/chromium-el6.repo ,

下載chromium安裝包:

輸入命令 yum install chromium 進行安裝,過程稍長,耐心等待:

中間會遇到提示,確認下載的安裝包,輸入"y"即可,等待安裝完成:

②、安裝yum源,輸入命令 sudo yum install -y epel-release  

安裝Chromium: yum install -y chromium  

檢查安裝結果: ll /usr/bin/ | grep chrom 

 

5、安裝chromedriver

瀏覽器安裝成功后,要想運行腳本,瀏覽器驅動是必不可少的一個文件。

首先查看安裝的chrome瀏覽器版本:輸入命令 google-chrome -version 

然后在chromedriver下載網站,查看LATEST REALEASE文件,里面會介紹最新的版本

chromedricer下載鏈接:http://chromedriver.storage.googleapis.com/index.html

或者這個鏈接也可以:https://npm.taobao.org/mirrors/chromedriver

下載對應的版本,命令如下(下載自己對應的chrome版本):

 wget http://chromedriver.storage.googleapis.com/index.html?path=2.38/chromedriver_linux64.zip 

然后解壓縮,輸入命令 unzip chromedriver_linux64.zip 

將下載的chromedriver移動當chrome瀏覽器目錄下,輸入命令 sudo mv chromedriver /usr/bin/chromedriver 

然后改變用戶執行的權限,輸入命令 sudo chmod +x /usr/bin/chromedriver 

最后查看版本,確認是否可用?輸入命令 chromedriver --version 

 

 

 好了,現在安裝成功

6、安裝Xvfb

Xvfb是一個實現了X11顯示服務協議的顯示服務器。 不同於其他顯示服務器,Xvfb在內存中執行所有的圖形操作,不需要借助任何顯示設備。

安裝Xvfb的方法也有兩種,請自行選擇。。。

①、輸入如下命令行安裝:

cd /tmp

wget http://vault.centos.org/6.5/os/x86_64/Packages/xorg-x11-server-Xvfb-1.13.0-23.el6.centos.x86_64.rpm

yum install xorg-x11-server-Xvfb-1.13.0-23.el6.centos.x86_64.rpm 

解釋:使用了“-extension RANDR -nolisten inet6”是因為Xvfb默認使用 ipv6,如果不添加就會報錯。。。

出現如下界面,則表示安裝成功:

②、輸入如下命令行安裝

yum install Xvfb -y

yum install xorg-x11-fonts* -y 

同樣,安裝完成后別忘記檢查是否安裝成功。。。

 

若以上環境裝完后,還不可以運行:

https://npm.taobao.org/mirrors/chromedriver/ 可以手動將下載的chromedriver 放到腳本同級目錄調用

測試代碼:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox') # 禁止沙箱模式,否則肯能會報錯遇到chrome異常
driver = webdriver.Chrome(executable_path="./chromedriver", options=chrome_options)
#driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

print(driver.title)

 

參考文檔: https://blog.51cto.com/14190441/2405568?source=dra

                   https://www.cnblogs.com/myvic/p/9450134.html

      https://segmentfault.com/a/1190000019459125?utm_source=tag-newest

      https://cloud.tencent.com/developer/article/1432921

      https://www.jianshu.com/p/b5f3025b5cdd

         https://blog.csdn.net/jwzhichitianya/article/details/82022262

      https://www.cnblogs.com/imyalost/p/9079076.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM