Selenium2+Python2.7 web自動化測試框架(內(nèi)網(wǎng))

工具:

python-2.7.13

Selenium 2.53.6

Firefox 47.0.1

chrome 72.0.3626.121

chromedriver 2.46

一、Selenium介紹

Selenium 經(jīng)歷了兩個版本,Selenium 1.0 和 Selenium 2.0,本文僅介紹Selenium2的原理,在Selenium 2.0 主推的是WebDriver,Selenium2又名Selenium Webdriver。

Selenium 是什么?一句話,自動化測試工具。它支持各種瀏覽器,包括 Chrome,Safari,F(xiàn)irefox 等主流界面式瀏覽器,如果你在這些瀏覽器里面安裝一個 Selenium 的插件,那么便可以方便地實現(xiàn)Web界面的測試。

Selenium 2,又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾經(jīng)是 Selenium 的競爭對手)。也就是說 Selenium 2 是 Selenium 和 WebDriver 兩個項目的合并,即 Selenium 2 兼容 Selenium,它既支持 Selenium API 也支持 WebDriver API。

中文文檔:http://selenium-python-zh.readthedocs.io/en/latest/index.html

英文文檔:http://selenium-python.readthedocs.io/index.html

(1)Selenium2簡介

Selenium是一個用于Web應用程序測試的工具,支持多平臺、多瀏覽器、多語言去實現(xiàn)自動化測試,Selenium2將瀏覽器原生的API封裝成WebDriver API,可以直接操作瀏覽器頁面里的元素,甚至操作瀏覽器本身(截屏,窗口大小,啟動,關閉,安裝插件,配置證書之類的),所以就像真正的用戶在操作一樣。

Webdriver的一個簡單的架構圖,如下圖所示:

Webdriver架構圖

(2)Selenium2原理

webdriver是按照server–client的經(jīng)典設計模式設計的:

server端就是remote server,可以是任意的瀏覽器:我們的腳本啟動瀏覽器后,該瀏覽器就是remote server,它的職責就是等待client發(fā)送請求并做出相應;

client端簡單說來就是我們的測試代碼:測試代碼中的一些行為,比如打開瀏覽器,轉跳到特定的url等操作是以http請求的方式發(fā)送給被server端(也就是被測瀏覽器)server接受請求,并執(zhí)行相應操作,并在response中返回執(zhí)行狀態(tài)、返回值等信息;

簡單介紹一下webdriver的工作原理:

啟動瀏覽器后,selenium-webdriver會將目標瀏覽器綁定到特定的端口,啟動后的瀏覽器則作為webdriver的remote server。

客戶端(也就是測試腳本),借助ComandExecutor發(fā)送HTTP請求給sever端(通信協(xié)議:The WebDriver Wire Protocol,在HTTP request的body中,會以WebDriver Wire協(xié)議規(guī)定的JSON格式的字符串來告訴Selenium我們希望瀏覽器接下來做什么事情)。

Sever端需要依賴原生的瀏覽器組件,轉化Web Service的命令為瀏覽器native的調(diào)用來完成操作。

注:

the WebDriver Wire Protocol是Selenium自己設計定義的協(xié)議,這套協(xié)議非常之強大,幾乎可以操作瀏覽器做任何事情,包括打開、關閉、最大化、最小化、元素定位、元素點擊、上傳文件等。

WebDriver Wire協(xié)議是通用的,也就是說不管FirefoxDriver還是ChromeDriver,啟動之后都會在某一個端口啟動基于這套協(xié)議的Web Service。

(3)Selenium2的安裝

方法1.直接用命令加載selenium

pip install -U selenium

備注:如果下載selenium出錯,可借鑒http://www.itdecent.cn/p/2d48cca6e620

方法2.下載selenium離線包

點擊下載selenium 2.53.6

下載.gz格式后,解壓

在安裝目錄下找到setup.py,打開CMD,輸入python setup.py install

然后,使用 pip show selenium? 檢查是否安裝成功

注:若pip show selenium提示pip出錯;可以把E:\python37\Scripts路徑放到環(huán)境變量path中

檢驗是否安裝成功

二、安裝python、pycharm

下載Python2.7.13 (Window平臺安裝包,包格式為:python-XYZ.msi文件)

1、安裝python-2.7

2、配置環(huán)境變量path中添加D:\Python27

3、cmd命令校驗python安裝成功

pycharm安裝教程

三、瀏覽器和對應驅動下載

(1)使用chrome瀏覽器

1、下載chrome瀏覽器

2、下載chromedriver驅動? : 下載chromedriver

3、解壓后,將chromedriver.exe復制到C:\Program Files (x86)\Google\Chrome\Application路徑下,并加該路徑配置到環(huán)境變量。(或者直接把Chromedriver.exe放到python.exe同目錄下)

備注Chrome版本與chromedriver版本對照及下載

(2)使用Firefox瀏覽器

1、下載Firefox

2、下載Firefox驅動:下載geckodriver

3、解壓后,將geckodriver.exe直接放到python.exe同目錄下即可

備注:firefox56以下不需要安裝webdriver驅動,firefox57(firefox57及以上版本)需要安裝geckodriver-v0.19.1-win32/64。

注意:

python2兼容的Firefox版本:47及以下

python3兼容的Firefox版本:48及以上

參考資料:

https://www.cnblogs.com/leeboke/p/5014058.html

https://www.cnblogs.com/itstu/p/6877794.html

https://www.cnblogs.com/jxba/p/9022780.html

https://blog.csdn.net/hello_global/article/details/65446446

https://www.cnblogs.com/hellosecretgarden/p/9206648.html

https://blog.csdn.net/casilin/article/details/6077964

https://www.ibm.com/developerworks/cn/web/1209_caimin_seleniumweb/index.html

https://blog.csdn.net/github_37216944/article/details/79053781

https://www.cnblogs.com/LOVEYU/p/8392269.html

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容