国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Web自動(dòng)化測(cè)試—webdriver的環(huán)境配置

這篇具有很好參考價(jià)值的文章主要介紹了Web自動(dòng)化測(cè)試—webdriver的環(huán)境配置。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

??? 交流討論:歡迎加入我們一起學(xué)習(xí)!

?? 資源分享耗時(shí)200+小時(shí)精選的「軟件測(cè)試」資料包

???教程推薦:火遍全網(wǎng)的《軟件測(cè)試》教程??

??歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? 如有錯(cuò)誤敬請(qǐng)指正!

環(huán)境: win10 +

想要Python通過selenium操作瀏覽器搞些事情,就必須有兩個(gè)前提條件:

  1. 下載selenium模塊
  2. 安裝selenium的瀏覽器驅(qū)動(dòng) webdriver

selenium模塊下載

 

pip install selenium pip install -i https://pypi.doubanio.com/simple/ selenium pip install -i https://pypi.doubanio.com/simple/ selenium==3.141.0

瀏覽器驅(qū)下載
瀏覽器驅(qū)動(dòng)的安裝時(shí)新手階段遇到較多問題之一,因?yàn)榭蛇x擇的瀏覽器較多,我們先來聊聊各種場(chǎng)景的瀏覽器:

  • 網(wǎng)頁瀏覽器,也就是我們現(xiàn)在經(jīng)常用到的瀏覽器,打開瀏覽器有個(gè)可視化的界面供我們操作,常見的有:
    • Google
    • Firefox
    • Safari
    • IE/edge
    • Opera
  • 無頭瀏覽器(Headless Browser),無頭,這里是說無界面的,這種瀏覽器的運(yùn)行是不可見的,selenium中常用的無頭瀏覽器有:
    • PhantomJS無頭瀏覽器
    • Google無頭瀏覽器
    • Firefox無頭瀏覽器

關(guān)于無頭瀏覽器:無頭瀏覽器指的是沒有圖形用戶界面的瀏覽器。無頭瀏覽器在類似于流行網(wǎng)絡(luò)瀏覽器的環(huán)境中提供對(duì)網(wǎng)頁的自動(dòng)控制,但是通過命令行界面或使用網(wǎng)絡(luò)通信來執(zhí)行。 它們對(duì)于測(cè)試網(wǎng)頁特別有用,因?yàn)樗鼈兡軌蛳駷g覽器一樣呈現(xiàn)和理解超文本標(biāo)記語言,包括頁面布局、顏色、字體選擇以及JavaScript和AJAX的執(zhí)行等樣式元素,這些元素在使用其他測(cè)試方法時(shí)通常是不可用的。
無頭瀏覽器常用于:

  • Web應(yīng)用程序中的測(cè)試自動(dòng)化。
  • 拍攝網(wǎng)頁截圖
  • 對(duì)JavaScript庫運(yùn)行自動(dòng)化測(cè)試
  • 收集網(wǎng)站數(shù)據(jù)
  • 自動(dòng)化網(wǎng)頁交互

使用無頭瀏覽器的優(yōu)勢(shì):

  • 對(duì)于UI自動(dòng)化測(cè)試,少了真實(shí)瀏覽器加載css,js以及渲染頁面的工作。無頭測(cè)試要比真實(shí)瀏覽器快的多。
  • 可以在無界面的服務(wù)器或CI上運(yùn)行測(cè)試,減少了外界的干擾,使自動(dòng)化測(cè)試更穩(wěn)定。
  • 在一臺(tái)機(jī)器上可以模擬運(yùn)行多個(gè)無頭瀏覽器,方便進(jìn)行并發(fā)測(cè)試。

關(guān)于PhantomJS無頭瀏覽器:PhantomJS是一個(gè)可以用JavaScript編寫腳本的無頭web瀏覽器。它在Windows、macOS、Linux和FreeBSD上運(yùn)行。使用QtWebKit作為后端,它為各種web標(biāo)準(zhǔn)提供了快速的本地支持:DOM處理、CSS選擇器、JSON、Canvas和SVG。
另外,說一個(gè)比較悲痛的消息:PhantomJS暫停維護(hù)(可能的原因是內(nèi)部問題和外部壓力(Google和Firefox無頭帶來的壓力)),所以,我們現(xiàn)在使用PhantomJS的話,你會(huì)看到提示:

 

UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '

閑話少敘,先來看具體怎么安裝和使用!

3|0網(wǎng)頁瀏覽器回到頂部

相對(duì)于無頭瀏覽器來說,網(wǎng)頁瀏覽器有以下優(yōu)勢(shì):

  1. 配置相對(duì)簡(jiǎn)單
  2. 執(zhí)行過程可視化,便于調(diào)試
  3. 模擬真實(shí)的用戶操作

3|1Chrome回到頂部

Chrome的驅(qū)動(dòng)下載地址:

  1. https://npm.taobao.org/mirrors/chromedriver
  2. http://chromedriver.storage.googleapis.com/index.html

這里以淘寶鏡像為例。

  1. 查看你的Chrome瀏覽器的版本。打開你的Chrome瀏覽器的設(shè)置?幫助?關(guān)于Google Chrome(G),這里我的Chrome的版本是81.0.4044.129

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試


2. 打開淘寶鏡像鏈接:https://npm.taobao.org/mirrors/chromedriver,如下圖,可以看到,有兩個(gè)81版本的驅(qū)動(dòng),我們選擇一個(gè)最貼近瀏覽器版本的驅(qū)動(dòng)版本81.0.4044.69

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. 那我們選擇的對(duì)嗎?現(xiàn)在點(diǎn)擊81.0.4044.69/這個(gè)驅(qū)動(dòng)下載鏈接中,查看notes.txt文件??梢钥吹剑?code>notes.txt文件中說了三件事,瀏覽器驅(qū)動(dòng)的版本、依賴瀏覽器的版本、該版本的驅(qū)動(dòng)解決了哪些問題。通過依賴的瀏覽器驅(qū)動(dòng)版本我們可以知道,這個(gè)就是我們想要的那個(gè)驅(qū)動(dòng)。

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. 回到之前的驅(qū)動(dòng)下載頁面,根據(jù)系統(tǒng)選擇不同的安裝包,這里我選擇chromedriver_win32.zip。點(diǎn)擊鏈接立即下載到本地。

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. 壓縮包內(nèi)就一個(gè)chromedriver.exe可執(zhí)行文件,將該文件移動(dòng)到Python的安裝目錄中的Scripts目錄(因?yàn)樵撃夸浺呀?jīng)添加到了系統(tǒng)Path中,你移動(dòng)到別的目錄也行,只要將目錄添加到系統(tǒng)的Path中)

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. 可以嘗試測(cè)試一下了:
 

from selenium import webdriver def foo(): """ 如果報(bào)如下錯(cuò)誤: selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home 原因是在執(zhí)行時(shí),沒有在path中找到驅(qū)動(dòng),這里的解決辦法是實(shí)例化driver對(duì)象時(shí),添加executable_path參數(shù),引用驅(qū)動(dòng)的絕對(duì)路徑 """</span> <span class="hljs-comment"># driver = webdriver.Chrome(executable_path="C:\Python36\Scripts\chromedriver.exe") # 解決如上報(bào)錯(cuò)</span> driver = webdriver.Chrome() driver.implicitly_wait(time_to_wait=<span class="hljs-number">10</span>) driver.get(<span class="hljs-string">'https://www.baidu.com'</span>) print(driver.title) <span class="hljs-comment"># 百度一下,你就知道</span> driver.quit() 原因是在執(zhí)行時(shí),沒有在path中找到驅(qū)動(dòng),這里的解決辦法是實(shí)例化driver對(duì)象時(shí),添加executable_path參數(shù),引用驅(qū)動(dòng)的絕對(duì)路徑 """</span> <span class="hljs-comment"># driver = webdriver.Chrome(executable_path="C:\Python36\Scripts\chromedriver.exe") # 解決如上報(bào)錯(cuò)</span> driver = webdriver.Chrome() driver.implicitly_wait(time_to_wait=<span class="hljs-number">10</span>) driver.get(<span class="hljs-string">'https://www.baidu.com'</span>) print(driver.title) <span class="hljs-comment"># 百度一下,你就知道</span> driver.quit() if name == 'main': foo()

效果就是打開一個(gè)瀏覽器,然后代碼獲取了百度主頁的title,然后關(guān)閉瀏覽器。

3|2Firefox回到頂部

  1. 還是要先查看Firefox的瀏覽器版本,設(shè)置?幫助?關(guān)于 Firefox,可以看我的Firefox版本是74。

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. 打開Firefox的驅(qū)動(dòng)下載地址:Releases · mozilla/geckodriver · GitHub,在最新的v0.26.0版本的描述中,推薦Firefox的版本≥60,而我們的Firefox版本正符合;下拉根據(jù)系統(tǒng)選擇不同的壓縮包,這里我選擇geckodriver-v0.26.0-win64.zip

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. 下載到本地是一個(gè)geckodriver.exe可執(zhí)行文件,同樣的,你將該文件移動(dòng)到Python安裝目錄中的Scripts目錄(跟Google的驅(qū)動(dòng)放一起,不會(huì)放的,參考Google驅(qū)動(dòng)的第5步)。

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. 測(cè)試:
 

from selenium import webdriver def foo(): """ 如果報(bào)如下錯(cuò)誤: selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 原因是在執(zhí)行時(shí),沒有在path中找到驅(qū)動(dòng),這里的解決辦法是實(shí)例化driver對(duì)象時(shí),添加executable_path參數(shù),引用驅(qū)動(dòng)的絕對(duì)路徑 """ <span class="hljs-comment"># driver = webdriver.Firefox(executable_path="C:\Python36\Scripts\geckodriver.exe") # 解決如上報(bào)錯(cuò)</span> driver = webdriver.Firefox() <span class="hljs-comment"># 解決如上報(bào)錯(cuò)</span> driver.implicitly_wait(time_to_wait=<span class="hljs-number">10</span>) driver.get(<span class="hljs-string">'https://www.baidu.com'</span>) print(driver.title) <span class="hljs-comment"># 百度一下,你就知道</span> driver.quit() <span class="hljs-comment"># driver = webdriver.Firefox(executable_path="C:\Python36\Scripts\geckodriver.exe") # 解決如上報(bào)錯(cuò)</span> driver = webdriver.Firefox() <span class="hljs-comment"># 解決如上報(bào)錯(cuò)</span> driver.implicitly_wait(time_to_wait=<span class="hljs-number">10</span>) driver.get(<span class="hljs-string">'https://www.baidu.com'</span>) print(driver.title) <span class="hljs-comment"># 百度一下,你就知道</span> driver.quit() if name == 'main': foo()

這里在再補(bǔ)充一個(gè)錯(cuò)誤,我之前的Firefox的版本是最新版,但我本機(jī)運(yùn)行有問題,所以在使用selenium操作的時(shí)候,報(bào)了這個(gè)錯(cuò)誤:

 

selenium.common.exceptions.TimeoutException: Message: connection refused

經(jīng)過查詢是我的Firefox瀏覽器有問題,我就降級(jí)裝了個(gè)74版本的。但這只是個(gè)例。

3|3Safari回到頂部

首先保證你的Python和selenium模塊安裝完成:

 

# 使用brew命令安裝python3.7 brew install python3 # 安裝selenium模塊 pip3 install selenium==3.141.0

來看如何配置Safari。
從macOS El Capitan和Sierra上的Safari 10開始,每個(gè)版本的瀏覽器都包含WebDriver支持。要啟用支持:

 

Enable the Developer menu from Safari preferences # 從Safari首選項(xiàng)中啟用“開發(fā)人員”菜單 Check the Allow Remote Automation option from with the Develop menu # 從“開發(fā)”菜單中選中“允許遠(yuǎn)程自動(dòng)化”選項(xiàng)

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試


?

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試


然后,在首次啟動(dòng)之前,終端輸入:

 

/usr/bin/safaridriver -p 1337

然后按照提示輸入密碼,使webdriver獲得授權(quán)。
現(xiàn)在可以執(zhí)行測(cè)試了:

 

from selenium import webdriver def foo(): driver = webdriver.Safari() driver.implicitly_wait(time_to_wait=<span class="hljs-number">10</span>) driver.get(<span class="hljs-string">'https://www.baidu.com'</span>) print(driver.title) <span class="hljs-comment"># 百度一下,你就知道</span> driver.quit() driver = webdriver.Safari() driver.implicitly_wait(time_to_wait=<span class="hljs-number">10</span>) driver.get(<span class="hljs-string">'https://www.baidu.com'</span>) print(driver.title) <span class="hljs-comment"># 百度一下,你就知道</span> driver.quit() if name == 'main': foo()

如下報(bào)錯(cuò)是提示你沒有勾選

 

selenium.common.exceptions.SessionNotCreatedException: Message: Could not create a session: You must enable the 'Allow Remote Automation' option in Safari's Develop menu to control Safari via WebDriver.

意思是:必須在Safari的“開發(fā)”菜單中啟用“允許遠(yuǎn)程自動(dòng)化”選項(xiàng),才能通過WebDriver控制Safari。如果你之前設(shè)置了,這里以不會(huì)報(bào)錯(cuò)了。

3|4IE回到頂部

必要的配置

  1. 設(shè)置?縮放中,將比例調(diào)整為100%。
  2. 設(shè)置?Internet 選項(xiàng)?安全選項(xiàng),如下圖,將四個(gè)選項(xiàng)都勾選啟用保護(hù)模式。

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試


3. 針對(duì)IE10和更高的版本,必須在IE選項(xiàng)設(shè)置中的高級(jí)頁中,取消增強(qiáng)保護(hù)模式。

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

重啟IE瀏覽器。
webdriver驅(qū)動(dòng)安裝

  1. 由于IE的webdriver驅(qū)動(dòng)依賴selenium模塊的版本,所以,我們先來查看selenium模塊的版本,這里我的selenium模塊的版本是Version: 3.141.0
 

C:\Users\Anthony>pip36 show selenium WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. Name: selenium Version: 3.141.0 Summary: Python bindings for Selenium Home-page: https://github.com/SeleniumHQ/selenium/ Author: UNKNOWN Author-email: UNKNOWN License: Apache 2.0 Location: c:\python36\lib\site-packages Requires: urllib3 Required-by: Appium-Python-Client

  1. 下載IE瀏覽器的webdriver驅(qū)動(dòng),訪問http://selenium-release.storage.googleapis.com/index.html定位到跟selenium版本一致的鏈接并且進(jìn)入該鏈接內(nèi)。

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. 這里一定要選擇跟你的selenium版本一致的壓縮包;另外,我的系統(tǒng)是64位的,但這里我選擇32位的壓縮包,原因是據(jù)不可靠消息,32位相對(duì)于64位性能更好!

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. IEDriverServer.exe可執(zhí)行文件拷貝到Python的安裝目錄中的Scripts目錄內(nèi)。

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. 現(xiàn)在,可以測(cè)試了。
 

from selenium import webdriver def foo(): """ 如果報(bào)如下錯(cuò)誤: selenium.common.exceptions.WebDriverException: Message: 'IEDriverServer.exe' executable needs to be in PATH. Please download from http://selenium-release.storage.googleapis.com/index.html and read up at https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver 原因是在執(zhí)行時(shí),沒有在 path中找到驅(qū)動(dòng),這里的解決辦法是實(shí)例化driver對(duì)象時(shí),添加executable_path參數(shù),引用驅(qū)動(dòng)的絕對(duì)路徑 """ <span class="hljs-comment"># driver = webdriver.Ie(executable_path="C:\Python36\Scripts\IEDriverServer.exe") # 解決如上報(bào)錯(cuò)</span> driver = webdriver.Ie() <span class="hljs-comment"># 解決如上報(bào)錯(cuò)</span> <span class="hljs-comment"># driver = webdriver.Firefox()</span> driver.implicitly_wait(time_to_wait=<span class="hljs-number">10</span>) driver.get(<span class="hljs-string">'https://www.baidu.com'</span>) print(driver.title) <span class="hljs-comment"># 百度一下,你就知道</span> driver.quit() <span class="hljs-comment"># driver = webdriver.Ie(executable_path="C:\Python36\Scripts\IEDriverServer.exe") # 解決如上報(bào)錯(cuò)</span> driver = webdriver.Ie() <span class="hljs-comment"># 解決如上報(bào)錯(cuò)</span> <span class="hljs-comment"># driver = webdriver.Firefox()</span> driver.implicitly_wait(time_to_wait=<span class="hljs-number">10</span>) driver.get(<span class="hljs-string">'https://www.baidu.com'</span>) print(driver.title) <span class="hljs-comment"># 百度一下,你就知道</span> driver.quit() if name == 'main': foo()

4|0無頭瀏覽器回到頂部

我們?nèi)粘J褂脼g覽器的步驟為:?jiǎn)?dòng)瀏覽器、打開一個(gè)網(wǎng)頁、進(jìn)行交互。而無頭瀏覽器指的是我們使用腳本來執(zhí)行以上過程的瀏覽器,能模擬真實(shí)的瀏覽器使用場(chǎng)景。

有了無頭瀏覽器,我們就能做包括但不限于以下事情:

  • 對(duì)網(wǎng)頁進(jìn)行截圖保存為圖片或 pdf。
  • 抓取單頁應(yīng)用(SPA)執(zhí)行并渲染(解決傳統(tǒng) HTTP 爬蟲抓取單頁應(yīng)用難以處理異步請(qǐng)求的問題)。
  • 做表單的自動(dòng)提交、UI的自動(dòng)化測(cè)試、模擬鍵盤輸入等。
  • 用瀏覽器自帶的一些調(diào)試工具和性能分析工具幫助我們分析問題。
  • 在最新的無頭瀏覽器環(huán)境里做測(cè)試、使用最新瀏覽器特性。
  • 寫爬蟲做你想做的事情。

無頭瀏覽器很多,包括但不限于:

  • PhantomJS, 基于 Webkit
  • SlimerJS, 基于 Gecko
  • HtmlUnit, 基于 Rhnio
  • TrifleJS, 基于 Trident
  • Splash, 基于 Webkit

這里我們簡(jiǎn)單來說,在selenium中使用無頭瀏覽器。

4|1PhantomJS回到頂部

PhantomJS是一個(gè)無界面的、可腳本編程的WebKit瀏覽器引擎,其快速,原生支持各種Web標(biāo)準(zhǔn): DOM 處理, CSS 選擇器, JSON, Canvas, 和 SVG。

  • PhantomJS是一個(gè)基于webkit內(nèi)核、無界面的瀏覽器,即它就是一個(gè)瀏覽器,只是其內(nèi)的點(diǎn)擊、翻頁等人為相關(guān)操作需要程序設(shè)計(jì)實(shí)現(xiàn);
  • PhantomJS提供Javascript API接口,可以通過編寫JS程序直接與webkit內(nèi)核交互;
  • PhantomJS的應(yīng)用:無需瀏覽器的 Web 測(cè)試、網(wǎng)頁截屏、頁面訪問自動(dòng)化、網(wǎng)絡(luò)監(jiān)測(cè)。

官網(wǎng):PhantomJS - Scriptable Headless Browser
github:GitHub - ariya/phantomjs: Scriptable Headless Browser

下載安裝

  1. 打開下載鏈接:Download PhantomJS,根據(jù)自己的系統(tǒng)平臺(tái),下載相應(yīng)的包,我這里是Windows 64位系統(tǒng),所以,我選擇下載windows版本的,phantomjs-2.1.1版本下載地址:

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. 將壓縮包解壓到?jīng)]有中文、空格的目錄,我這里解壓到Python的安裝目錄中的Scripts目錄。

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. phantomjs-2.1.1-windows的bin目錄添加到系統(tǒng)path中。

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

  1. 測(cè)試。
 

from selenium import webdriver def foo(): """ 如果報(bào)如下錯(cuò)誤: selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH. 原因是在執(zhí)行時(shí),沒有在 path中找到驅(qū)動(dòng),這里的解決辦法是實(shí)例化driver對(duì)象時(shí),添加executable_path參數(shù),引用驅(qū)動(dòng)的絕對(duì)路徑 """ driver = webdriver.PhantomJS(executable_path=<span class="hljs-string">r"C:\Python36\Scripts\phantomjs-2.1.1-windows\bin\phantomjs.exe"</span>) <span class="hljs-comment"># 解決如上報(bào)錯(cuò)</span> driver.implicitly_wait(time_to_wait=<span class="hljs-number">10</span>) driver.get(<span class="hljs-string">'https://www.baidu.com'</span>) print(driver.title) <span class="hljs-comment"># 百度一下,你就知道</span> driver.quit() driver = webdriver.PhantomJS(executable_path=<span class="hljs-string">r"C:\Python36\Scripts\phantomjs-2.1.1-windows\bin\phantomjs.exe"</span>) <span class="hljs-comment"># 解決如上報(bào)錯(cuò)</span> driver.implicitly_wait(time_to_wait=<span class="hljs-number">10</span>) driver.get(<span class="hljs-string">'https://www.baidu.com'</span>) print(driver.title) <span class="hljs-comment"># 百度一下,你就知道</span> driver.quit() if name == 'main': foo()

之前說 PhantomJS 和新版的selenium已經(jīng)分手,所以你在使用的時(shí)候,會(huì)有這提示,注意,這是提示,不是報(bào)錯(cuò)!

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

解決辦法!要么視而不見,要么按照提示去使用Google或者Firefox的無頭瀏覽器吧。

4|2Google無頭回到頂部

自2017年中以來,Chrome用戶可以選擇以headless模式運(yùn)行瀏覽器(chrome 59.0)。此功能非常適合運(yùn)行前端瀏覽器測(cè)試,而無需在屏幕上顯示操作過程。在此之前,這主要是PhantomJS的領(lǐng)地,但Headless Chrome正在迅速取代這個(gè)由JavaScript驅(qū)動(dòng)的WebKit方法。Headless Chrome瀏覽器的測(cè)試運(yùn)行速度要快得多,而且行為上更像一個(gè)真正的瀏覽器,雖然我們的團(tuán)隊(duì)發(fā)現(xiàn)它比PhantomJS使用更多的內(nèi)存。有了這些優(yōu)勢(shì),用于前端測(cè)試的Headless Chrome很可能成為事實(shí)上的標(biāo)準(zhǔn)。

所以,我們來看Google無頭瀏覽器怎么玩的吧!畢竟這是以后無頭瀏覽器陣營(yíng)的扛把子!
說起來,Google的無頭瀏覽器配置倒也簡(jiǎn)單,只需要要在實(shí)例化driver對(duì)象的時(shí)候,添加參數(shù)即可。

 

from selenium import webdriver from selenium.webdriver.chrome.options import Options # 創(chuàng)建一個(gè)參數(shù)對(duì)象,用來控制chrome以無界面模式打開 chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') # 創(chuàng)建瀏覽器對(duì)象 driver = webdriver.Chrome(chrome_options=chrome_options) # driver = webdriver.Chrome() # 不加 chrome_options 參數(shù)就是正常的打開一個(gè)瀏覽器,進(jìn)行操作 driver.implicitly_wait(10) # 訪問URL driver.get('https://www.baidu.com') print(driver.title) # 百度一下,你就知道 driver.quit()

4|3Firefox無頭回到頂部

Google搞了無頭瀏覽器之后(2017年5月),小老弟Firefox也不甘落后,從 55.0 開始也支持了HEADLESS模式(2017年9月)。
配置也相當(dāng)?shù)暮?jiǎn)單。

 

from selenium import webdriver from selenium.webdriver.firefox.options import Options # 創(chuàng)建瀏覽器對(duì)象 options = Options() options.add_argument("-headless") driver = webdriver.Firefox(firefox_options=options) # driver = webdriver.Firefox() # # 不加 firefox_options 參數(shù)就是正常的打開一個(gè)瀏覽器,進(jìn)行操作 driver.implicitly_wait(10) # 訪問URL driver.get('https://www.baidu.com') print(driver.title) # 百度一下,你就知道 driver.quit()

不得不說,大廠就是大廠,Google和Firefox的聯(lián)手打壓下,再加上PhantomJS的內(nèi)部矛盾,導(dǎo)致在短短的幾個(gè)月后(2018年4月),PhantomJS的核心開發(fā)者團(tuán)隊(duì)宣布不再維護(hù)該項(xiàng)目,老大哥終將落幕了啊!

哦,忘了說了,據(jù)不可靠消息說:

  • Google無頭相對(duì)于UI的瀏覽器節(jié)省30%左右的時(shí)間。
  • Firefox無頭相對(duì)于UI的瀏覽器節(jié)省3%左右的時(shí)間。

這話不是我說的,是:http://www.suchcode.com/topic/592/WebDriver測(cè)試的無頭執(zhí)行 - Firefox瀏覽器。

哦,還有,phantomjs 都不維護(hù)了,還講它干嘛?那是因?yàn)槲覀兛梢栽诮鼐W(wǎng)頁長(zhǎng)圖的時(shí)候使用。暫時(shí)我還沒有找到使用Chrome和Firefox截長(zhǎng)圖的辦法!只能使用 phantomjs 了啊!

最后我邀請(qǐng)你進(jìn)入我們的【軟件測(cè)試學(xué)習(xí)交流群:785128166】, 大家可以一起探討交流軟件測(cè)試,共同學(xué)習(xí)軟件測(cè)試技術(shù)、面試等軟件測(cè)試方方面面,還會(huì)有免費(fèi)直播課,收獲更多測(cè)試技巧,我們一起進(jìn)階Python自動(dòng)化測(cè)試/測(cè)試開發(fā),走向高薪之路

作為一個(gè)軟件測(cè)試的過來人,我想盡自己最大的努力,幫助每一個(gè)伙伴都能順利找到工作。所以我整理了下面這份資源,現(xiàn)在免費(fèi)分享給大家,有需要的小伙伴可以關(guān)注【公眾號(hào):程序員二黑】自提!

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試

web自動(dòng)化環(huán)境安裝,python,壓力測(cè)試,單元測(cè)試,軟件測(cè)試,自動(dòng)化測(cè)試文章來源地址http://www.zghlxwxcb.cn/news/detail-858599.html

到了這里,關(guān)于Web自動(dòng)化測(cè)試—webdriver的環(huán)境配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • web自動(dòng)化測(cè)試框架落地實(shí)施全過程-測(cè)試環(huán)境搭建 (Selenium+Python)

    web自動(dòng)化測(cè)試框架落地實(shí)施全過程-測(cè)試環(huán)境搭建 (Selenium+Python)

    Web自動(dòng)化測(cè)試是指使用自動(dòng)化工具模擬用戶在Web瀏覽器中執(zhí)行的操作,通過編寫腳本來自動(dòng)化執(zhí)行測(cè)試用例,以驗(yàn)證Web應(yīng)用程序的功能、性能和兼容性等方面的質(zhì)量。其主要目的是降低測(cè)試成本和時(shí)間,并提高測(cè)試效率和準(zhǔn)確性。 Web自動(dòng)化測(cè)試通常包括以下步驟: 確定測(cè)試

    2024年02月09日
    瀏覽(20)
  • UI自動(dòng)化測(cè)試篇 :Selenium2(Webdriver)&TestNG自動(dòng)化測(cè)試環(huán)境搭建

    UI自動(dòng)化測(cè)試篇 :Selenium2(Webdriver)&TestNG自動(dòng)化測(cè)試環(huán)境搭建

    ??? 交流討論: 歡迎加入我們一起學(xué)習(xí)! ?? 資源分享 : 耗時(shí)200+小時(shí)精選的「軟件測(cè)試」資料包 ??? 教程推薦: 火遍全網(wǎng)的《軟件測(cè)試》教程?? ?? 歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? 如有錯(cuò)誤敬請(qǐng)指正! ?? 最開始學(xué)習(xí)UI自動(dòng)化,用的工具是QTP10,用起來確實(shí)比較容易上手

    2024年03月10日
    瀏覽(31)
  • Web自動(dòng)化測(cè)試簡(jiǎn)介及web自動(dòng)化測(cè)試實(shí)戰(zhàn)交教程

    Web自動(dòng)化測(cè)試簡(jiǎn)介及web自動(dòng)化測(cè)試實(shí)戰(zhàn)交教程

    1.什么是自動(dòng)化測(cè)試? 自動(dòng)化測(cè)試的概念: 軟件自動(dòng)化測(cè)試就是通過測(cè)試工具或者其他手段,按照測(cè)試人員的預(yù)定計(jì)劃對(duì)軟件產(chǎn)品進(jìn)行自動(dòng)化測(cè)試,他是軟件測(cè)試的一個(gè)重要組成部分,能夠完成許多手工測(cè)試無法完成或者難以實(shí)現(xiàn)的測(cè)試工作,正確合理的實(shí)施自動(dòng)化測(cè)試,能

    2024年02月08日
    瀏覽(25)
  • Web自動(dòng)化測(cè)試怎么做?Web自動(dòng)化測(cè)試的詳細(xì)流程和步驟

    Web自動(dòng)化測(cè)試怎么做?Web自動(dòng)化測(cè)試的詳細(xì)流程和步驟

    自動(dòng)化(Automation)是指機(jī)器設(shè)備、系統(tǒng)或過程(生產(chǎn)、管理過程)在沒有人或較少人的直接參與下,按照人的要求,經(jīng)過自動(dòng)檢測(cè)、信息處理、分析判斷、操縱控制,實(shí)現(xiàn)預(yù)期的目標(biāo)的過程。 這是教科書里面的自動(dòng)化的定義,回歸到自動(dòng)化測(cè)試其實(shí)自動(dòng)化測(cè)試就是什么呢?

    2024年02月02日
    瀏覽(23)
  • 自動(dòng)化測(cè)試 - Web自動(dòng)化測(cè)試原理

    自動(dòng)化測(cè)試 - Web自動(dòng)化測(cè)試原理

    目前市面上有很多Web UI自動(dòng)化測(cè)試框架,比如WatiN, Selinimu,WebDriver,還有VS2010中的Coded UI等等. 這些框架都可以操作Web中的控件,模擬用戶輸入,點(diǎn)擊等操作,實(shí)現(xiàn)Web自動(dòng)化測(cè)試。其實(shí)這些工具的原理都一樣,都是通過調(diào)用IE COM接口和HTML DOM 對(duì)IE瀏覽器以及WEB測(cè)試對(duì)象的操作。

    2024年01月16日
    瀏覽(24)
  • 【W(wǎng)eb UI自動(dòng)化測(cè)試】Web UI自動(dòng)化測(cè)試之框架篇(全網(wǎng)最全)

    【W(wǎng)eb UI自動(dòng)化測(cè)試】Web UI自動(dòng)化測(cè)試之框架篇(全網(wǎng)最全)

    本文大綱截圖: UnitTest框架: PyTest框架: 框架:?框架英文單詞 framework,為解決一類事情的功能的集合。需要按照框架的規(guī)定(套路)去書寫代碼。 概念:UnitTest是python自帶的一個(gè)單元測(cè)試框架,用它來做單元測(cè)試 自帶的框架:不需要單獨(dú)按照,只要安裝了 python就可以用

    2023年04月09日
    瀏覽(29)
  • 【W(wǎng)eb UI自動(dòng)化測(cè)試】Web UI自動(dòng)化測(cè)試之日志收集篇(全網(wǎng)最全)

    【W(wǎng)eb UI自動(dòng)化測(cè)試】Web UI自動(dòng)化測(cè)試之日志收集篇(全網(wǎng)最全)

    本文大綱截圖: ? 日志:?用于記錄系統(tǒng)運(yùn)行時(shí)的信息,對(duì)一個(gè)事件的記錄,也稱為 Log 。 日志作用: 1)調(diào)試程序 2)了解系統(tǒng)程序運(yùn)行的情況是否正常 3)系統(tǒng)程序運(yùn)行故障分析與問題定位 4)用來做用戶行為分析和數(shù)據(jù)統(tǒng)計(jì) 日志級(jí)別: 日志級(jí)別:指日志信息的優(yōu)先級(jí)、重

    2024年02月12日
    瀏覽(22)
  • web自動(dòng)化測(cè)試進(jìn)階篇03 ———自動(dòng)化并發(fā)測(cè)試應(yīng)用

    web自動(dòng)化測(cè)試進(jìn)階篇03 ———自動(dòng)化并發(fā)測(cè)試應(yīng)用

    ? ? ?? 作者簡(jiǎn)介:博主是一位測(cè)試管理者,同時(shí)也是一名對(duì)外企業(yè)兼職講師。 ?? 主頁地址:【Austin_zhai】 ?? 目的與景愿:旨在于能幫助更多的測(cè)試行業(yè)人員提升軟硬技能,分享行業(yè)相關(guān)最新信息。 ?? 聲明:博主日常工作較為繁忙,文章會(huì)不定期更新,各類行業(yè)或職場(chǎng)問

    2024年02月06日
    瀏覽(19)
  • 自動(dòng)化測(cè)試之web自動(dòng)化(Selenium)

    自動(dòng)化測(cè)試之web自動(dòng)化(Selenium)

    ??? 交流討論: 歡迎加入我們一起學(xué)習(xí)! ?? 資源分享 : 耗時(shí)200+小時(shí)精選的「軟件測(cè)試」資料包 ??? 教程推薦: 火遍全網(wǎng)的《軟件測(cè)試》教程?? ?? 歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? 如有錯(cuò)誤敬請(qǐng)指正! yycnblog 自動(dòng)化測(cè)試概念:讓程序代替人為去驗(yàn)證程序功能的過程,本

    2024年03月15日
    瀏覽(47)
  • UI自動(dòng)化概念+Web自動(dòng)化測(cè)試框架

    UI自動(dòng)化概念+Web自動(dòng)化測(cè)試框架

    1.UI自動(dòng)化測(cè)試概念:我們先明確什么是UI UI,即(User Interface簡(jiǎn)稱UI用戶界面)是系統(tǒng)和用戶之間進(jìn)行交互和信息交換的媒介 UI自動(dòng)化測(cè)試: Web自動(dòng)化測(cè)試和移動(dòng)自動(dòng)化測(cè)試都屬于UI自動(dòng)化測(cè)試,UI自動(dòng)化測(cè)試就是借助自動(dòng)化工具對(duì)程序UI層進(jìn)行自動(dòng)化的測(cè)試 2.為什么對(duì)UI采用自動(dòng)化

    2024年02月06日
    瀏覽(94)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包