輕松自動化---selenium-webdriver(python) (一)


 http://www.testclass.net/  測試教程網,專業的selenium 學習網站。

為什么選python

之前的菜鳥系列是基於java的,一年沒學其實也忘的差不多了,目前所測的產品部分也是python寫的,而且團隊也在推廣python ,其實就測試人員來說,python也相當受歡迎。易學,易用。翻翻各測試招聘,python出現的概率也頗高。

 

平台搭建:

前一篇中已經介紹,如果你也想體驗一下自動化魅力,那就趕快搭建自己的環境吧~

selenium + python自動化測試環境搭建

 

第一個腳本:

下面看看python 穿上selenium webdriver 是多么的性感:

# coding = utf-8

from selenium import webdriver browser = webdriver.Firefox() browser.get("http://www.baidu.com") browser.find_element_by_id("kw").send_keys("selenium") browser.find_element_by_id("su").click() browser.quit()

怎么樣?相信不懂代碼的人都能看懂,但還是請容我在這里啰嗦一下每一句的含義:

 

# coding = utf-8

可加可不加,開發人員喜歡加一下,防止亂碼嘛。

 

from selenium import webdriver

要想使用seleniumwebdriver 里的函數,首先把包導進來嘛

 

browser = webdriver.Firefox() 

我們需要操控哪個瀏覽器呢?Firefox ,當然也可以換成Ie 或 Chrome browser可以隨便取,但后面要用它操縱各種函數執行。

 

browser.find_element_by_id("kw").send_keys("selenium")

一個控件有若干屬性id name、(也可以用其它方式定位),百度輸入框的id kw ,我要在輸入框里輸入 selenium 。多自然語言呀!

 

browser.find_element_by_id("su").click()

搜索的按鈕的id su ,我需要點一下按鈕( click() )。

 

browser.quit()

退出並關閉窗口的每一個相關的驅動程序,它還有個類似的表弟。

browser.close()

關閉當前窗口 ,用哪個看你的需求了。

 

添加休眠

什么?你說剛才太快沒看清瀏覽器的操作過程。請time出馬,讓他跑慢點。

 

# coding = utf-8

from selenium import webdriver import  time  #調入time函數
 browser = webdriver.Firefox() browser.get("http://www.baidu.com") time.sleep(0.3)  #休眠0.3秒
browser.find_element_by_id("kw").send_keys("selenium") browser.find_element_by_id("su").click() time.sleep(3)  # 休眠3秒
browser.quit()

 

time.sleep() 函數隨意插,哪里太快插哪里,再也不用擔心看不清腳本的運行過程了。

 

其實,這個函數的真正用途不是給我們看腳本的運行過程的,有時候網絡原因,或頁面加載慢。假設搜索框輸入框輸入了selenium ,搜索按鈕還沒加載出來,那么腳本就報錯。在適當的位置加入time.sleep()有助於減少網絡原因造成的腳本執行失敗;

 

輸出

什么?在運行腳本的時候,上了個廁所,你都不知道剛才的腳本是否運行成功了。把剛才訪問頁面的title 打印出來。

 

# coding = utf-8

from selenium import webdriver driver = webdriver.Chrome() driver.get('http://www.baidu.com') print driver.title  # 把頁面title 打印出來
driver.quit()

 

雖然我沒看到腳本的執行過程,但我在執行結果里看到了

>>> 百度一下,你就知道

說明頁面正確被我打開了。

 

 

--------------------------

學習更多selenium 內容:

 「功能測試自動化」匯總

 


免責聲明!

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



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