Python結(jié)合Selenium簡單實現(xiàn)Web自動化測試
這篇文章是入門級別的應(yīng)用Python + Selenium進(jìn)行自動化測試,包括環(huán)境搭建及簡單的實例?;舅枷胧怯肍irefox Selenium IDE插件錄制腳本并生成Python代碼,用Python結(jié)合Selenium及瀏覽器驅(qū)動程序執(zhí)行腳本。操作系統(tǒng)是Windows,過程中有不明白的地方記得百度下,比如不知道如何打開Windows CMD命令行、不知道如何設(shè)置環(huán)境變量等,因為本文的前提是讀者已有一定的基礎(chǔ)知識。
安裝Python,訪問其官網(wǎng)www.python.org下載最新版本,建議選擇Python 3的安裝(不要選擇embeddable版本)版本,安裝時記得勾選兩項:將Python添加到環(huán)境變量和安裝pip,一定記得選擇這兩項,為了給后面的步驟省去一些麻煩。
安裝完成后在CMD命令行輸入python和pip驗證是否安裝妥當(dāng),如果不提示“不是內(nèi)部或外部命令”則說明安裝正常,否則可能是沒有添加到環(huán)境變量。
安裝python selenium包,最簡單的辦法就是在CMD命令行輸入python -m pip install selenium進(jìn)行安裝。注意這里有個pip, 就是上文讓勾選安裝pip的原因。下圖中因為我的環(huán)境已經(jīng)安裝所以提示already satisfied。
除了上面通過pip安裝外也可以直接下載python的selenium安裝包,可以在selenium官網(wǎng)(http://www.seleniumhq.org/download/)下載,下載后通過在命令行用python setup.py install安裝,這里不介紹這種方法了。
為Firefox安裝Selenium IDE。這一步是為了用Firefox錄制腳本,但不是必須的,因為也可以直接手工編寫腳本,只是對于新手來說錄制會方便點。打開Firefox, 在附加組件中搜索Selenium IDE,找到如圖所示的組件,安裝即可。
重啟Firefox后可以在工具菜單中看到Selenium IDE的選項,表示安裝成功。
接下來還要下載一些瀏覽器驅(qū)動程序(webdriver),注意Firefox是Selenium原生支持的,但似乎并不是所有Firefox版本都支持,所以我們要找一些驅(qū)動,另外目前看起來似乎Firefox在執(zhí)行時并不穩(wěn)定,而谷歌的Chrome瀏覽器比較好一點,所以我們這里選擇Chrome。其驅(qū)動都可以在Selenium官網(wǎng)找到,包含IE及其它瀏覽器。
上圖中標(biāo)記的兩個分別用于Firefox和Chrome,下載后保存,添加到環(huán)境變量,為了方便起見,建議可以直接放到之前安裝Python的目錄下。注意,一定要保證驅(qū)動程序的目錄添加到環(huán)境變量,否則不能執(zhí)行。
此時,簡單的Selenium環(huán)境已經(jīng)準(zhǔn)備好了,下面以百度為例簡單示范。
1,打開Firefox, 啟動Selenium IDE
2,彈出Selenium IDE窗口,Base URL輸入http://www.baidu.com,右邊的錄制按鈕保持錄制打開(默認(rèn)已經(jīng)打開)
3,在瀏覽器地址欄輸入www.baidu.com,點擊搜索,這時可以看到Selenium中已經(jīng)生成了腳本信息,可以點擊左上角的綠色按鈕測試一下
4,假設(shè)這時我們的錄制已經(jīng)結(jié)束,然后將該腳本導(dǎo)出為python代碼,選擇文件>Export Test Case As>Python,注意這里是python 2, 一般情況下關(guān)系不大,如果你的python環(huán)境是python 3則有些時候可能要對代碼做一些修改
5,保存為python源文件,即以.py為后綴
6,打開生成的代碼,默認(rèn)是以Firefox瀏覽器作為driver,建議改為Chrome
7,此時可以通過python執(zhí)行測試,打開CMD命令行,進(jìn)入到剛才存放python代碼的目錄,輸入python test.py執(zhí)行
8,如果前面步驟都正確的話,這時會自動打開瀏覽器,打開百度進(jìn)行搜索。如果有錯誤的話就要逐步排除,那就不是三言兩語能說清楚的了。另外建議用Sublime Text 3,安裝后直接打開py文件,按Ctrl+B執(zhí)行。
本文只是簡單說明Selenium環(huán)境搭建,Selenium還有很多其它東西,如元素的定位,分布式任務(wù)等,均不在本文范圍。
到此這篇關(guān)于Python結(jié)合Selenium簡單實現(xiàn)Web自動化測試的文章就介紹到這了,更多相關(guān)Python Selenium Web自動化測試內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python unichr函數(shù)知識點總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python unichr函數(shù)的知識點總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-12-12pytorch神經(jīng)網(wǎng)絡(luò)從零開始實現(xiàn)多層感知機(jī)
這篇文章主要為大家介紹了pytorch神經(jīng)網(wǎng)絡(luò)從零開始實現(xiàn)多層感知機(jī)的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10在Python的Flask框架中構(gòu)建Web表單的教程
Flask框架中自帶一個Form表單類,通過它的子類來實現(xiàn)表單將相當(dāng)愜意,這里就為大家?guī)鞵ython的Flask框架中構(gòu)建Web表單的教程,需要的朋友可以參考下2016-06-06基于Django的樂觀鎖與悲觀鎖解決訂單并發(fā)問題詳解
這篇文章主要介紹了基于Django的樂觀鎖與悲觀鎖解決訂單并發(fā)問題詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07Tensorflow中使用tfrecord方式讀取數(shù)據(jù)的方法
這篇文章主要介紹了Tensorflow中使用tfrecord方式讀取數(shù)據(jù)的方法,適用于數(shù)據(jù)較多時,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06