環境部署(九):linux下安裝python+chrome+Xvfb

在基于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?

解壓縮包:?tar zxvf Python-3.6.2.tgz?

輸入命令?cd Python-3.6.2?,進入剛剛解壓的目錄,然后執行下列3個命令:

?./configure?(不是每一個安裝包都需要執行這個命令,如果是二進制包則不需要這一步)

?make?

?make install?

解釋:

在解壓出的文件夾中有一個名為configure的可執行腳本程序,它用于檢查系統是否有編譯時所需的庫,以及庫的版本是否滿足編譯的需要等系統信息,使用?./configure?命令執行。

檢查通過后,將生成用于編譯的MakeFile文件。此時,可以開始進行編譯了,使用#make命令編譯。

成功編譯后,通過#make install安裝。

安裝完畢,應清除編譯過程中產生的臨時文件和配置過程中產生的文件。鍵入如下命令:

?make clean ?

?make distclean?

然后可以將剛剛下載的解壓包和解壓出來的文件夾刪掉。安裝成功后,可以輸入?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

下載對應的版本,命令如下:

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

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

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

然后改變用戶執行的權限,輸入命令?sudo chmod u+x,o+x /usr/local/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?

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

?

以上方法為linux系統Centos下的安裝命令和方法,僅供參考。。。

?

轉載于:https://www.cnblogs.com/imyalost/p/9079076.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280235.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280235.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280235.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

地理圍欄_什么是“地理圍欄”?

地理圍欄The term is popping up more frequently in news articles, appearing in product manuals, and highlighted as a feature in tons of mobile applications, but what exactly is geofencing? Read on as we explain what it is, why it’s appearing in more produ…

219. 單頁應用 會話管理(session、cookie、jwt)

原文鏈接:https://github.com/ly525/blog... 關鍵字:http-only, cookie,sessionid, vue-router, react-router, 安全,localStorage, jwt 需求描述 內部管理平臺,需要用戶登錄之后才能訪問。現在將 該平臺地址(www.xxx.…

(原+譯)使用numpy.savez保存字典后讀取的問題

轉載請注明出處: http://www.cnblogs.com/darkknightzh/p/7608928.html 參考網址; https://stackoverflow.com/questions/22315595/saving-dictionary-of-header-information-using-numpy-savez python中,使用pickle保存變量時,如果變量過大&…

NLog 通過http保存日志

簡介NLog是一個基于.NET平臺編寫的類庫,我們可以使用NLog在應用程序中添加極為完善的跟蹤調試代碼。 NLog是一個簡單靈活的.NET日志記錄類庫。通過使用NLog,我們可以在任何一種.NET語言中輸出帶有上下文的(contextual information&#xff09…

嵌套映射

1. 多對一嵌套查詢映射使用案例 package com.zixue.dao;import com.zixue.annotation.MyBatisRepository; import com.zixue.entity.Emp;/*** 員工表的DAO組件* */ MyBatisRepository public interface EmpDao {void save(Emp emp);Emp findById(int id);Emp findById2(int id)…

gopro dataset_如何將GoPro安裝到DSLR相機

gopro datasetIf you have a DSLR camera with a hot shoe, it’s easy to attach various flashes and other accessories right to your camera. But with a couple of cheap attachments on hand, you can mount your GoPro to your DSLR camera as well. 如果您的DSLR相機帶…

音頻 m4a 轉 wav

背景最近做智能家居,需要用到一些應答詞 需要自己錄制。但是在mac下面通過 QuickTime 錄制的是 m4a格式。但是應答詞需要 wav格式。所以就需要轉化了解決方法# sox 不行, ffmpeg 很麻煩,用 avconv 很簡單。安裝 如果沒有就安裝 # apt-get ins…

jQuery已經過時了,還需要學嗎?

說起jQuery,很多剛參加工作的程序員都沒用過,甚至沒聽過。曾幾何時jQuery可是秒殺一切Js庫,大有一統江山的情況,可是在頂峰的時候,瞬間被Vue、React、Angela三大框架斬于馬下。從百度指數,我們也看出在2015…

Bootstrap01

Bootstrap01內容概要 一.使用Bootstrap的步驟 1.下載Bootstrap類庫,包含三個部分,fonts,css,Bootstrap 2.導入項目中,在頭部引入JQ,css和Bootstrap 注意:JQ要引入在Bootstrap前面! 3.使用css樣式時,全部使用class屬性 二.全局CSS概要 1.僅支持H5文檔格式 2.移動設備優先,需要在…

ios raise_如何在iOS 10中關閉“ Raise to Wake”

ios raiseRaise to Wake is a new Lock screen feature available in iOS 10. It allows you to wake your phone’s screen simply by picking up your phone. This feature is on by default, but if you’d rather not use it, it’s simple to turn off. “喚醒”是iOS 10中…

資源調度器調研

2019獨角獸企業重金招聘Python工程師標準>>> 場景描述: 異步觸發和Crontab觸發 YARN(Yet Another Resource Negotiator)Hadoop 資源管理器 主要構成: RM(ResourceManager)是一個全局的資源管理器,負責整個系統的資源管理和分配。…

WPF-19 IValueConverter接口

我們先來看看微軟官方給出的定語:提供將自定義邏輯應用于綁定的方法,我們來看一下該接口的定義,Convert提供了將數據源到UI的格式化,ConvertBack表示反向namespace System.Windows.Data {//// Summary:// Provides a way to a…

JVM學習記錄-類加載的過程

類的整個生命周期的7個階段是:加載(Loading)、驗證(Verification)、準備(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸載(Unloading)。 類加載的全過程主要包括:加載、驗證、準備、解析、初始化這5個…

使用 Azure CLI 將 IaaS 資源從經典部署模型遷移到 Azure Resource Manager 部署模型

以下步驟演示如何使用 Azure 命令行接口 (CLI) 命令將基礎結構即服務 (IaaS) 資源從經典部署模型遷移到 Azure Resource Manager 部署模型。 本文中的操作需要 Azure CLI。 Note 此處描述的所有操作都是冪等的。 如果你遇到功能不受支持或配置錯誤以外的問題,建議你…

c++的進制轉換函數

https://blog.csdn.net/u010003835/article/details/47665847https://blog.csdn.net/vir_lee/article/details/80645066strtol函數:用于由十進制轉化到2~36的其他進制。函數原型為:long int strtol(const char *nptr,char **endptr,int base); 還應該注意…

黑蘋果不能imessage_如何修復iMessage在iOS 10中不顯示消息效果

黑蘋果不能imessageiMessage got a huge update in iOS 10, adding things like third-party app integration, rich links, and a number of fun graphical effects for messages. If you’re seeing messages that say something like “(sent with Invisible Ink)” instead…

MyBatisPlus怎么忽略映射字段

TableField(exist false):表示該屬性不為數據庫表字段,但又是必須使用的。 TableField(exist true):表示該屬性為數據庫表字段。 Mybatis-Plus 插件有這個功能,可以看一下 TableName:數據庫表相關 TableId&#xff1…

從技術總監到開源社區運營:過去兩年,我都做了點啥?

這是頭哥侃碼的第267篇原創今天,這是我離開前公司的第 7 天。相信有不少吃瓜群眾都很好奇,你這些天都在干啥?是不是蓬萊樂逍遙,過上了那悠閑的神仙日子?還是趁著疫情管控逐漸放開,和家人一起去深山老林里吸…

查看模擬器使用端口_為什么我們仍然使用模擬音頻端口?

查看模擬器使用端口When leaks about what the chassis of the iPhone 7 might look like hit headlines earlier this week, technology columnists and industry analysts jumped on the chance to report that Apple’s next device may finally ditch its 3.5mm audio port…

ServletContextListener在Springboot中的使用

ServletContextListener是servlet容器中的一個API接口, 它用來監聽ServletContext的生命周期,也就是相當于用來監聽Web應用的生命周期。今天我們就來說說如何在Springboot 1.5.2這個輕量型框架中如何使用它。 其實配置ServletContextListener與其它Filter, Listener…