輕鬆自動化---selenium-webdriver(python) (二)

蟲師發表於2013-07-04

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

本節知識點:

  • 列印URL
  • 將瀏覽器最大化
  • 設定瀏覽器固定寬、高
  • 操控瀏覽器前進、後退

 

 

列印URL

 

上一節講到,可以將瀏覽器的title列印出來,這裡再講個簡單的,把當前URL列印出來。其實也沒啥大用,可以做個湊數的用例。

 

#coding=utf-8

from selenium import webdriver
import time

browser = webdriver.Firefox()

url= 'http://www.baidu.com'

#通過get方法獲取當前URL列印
print "now access %s" %(url)
browser.get(url)

time.sleep(2)
browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
time.sleep(3)
browser.quit()   

 

其實,我們可以把這使用者登入成功後的URL列印,用於驗證使用者登入成功。

又或者,我們列印其它資訊,比如,一般的登入成功頁會出現“歡迎+使用者名稱”,可以將這個資訊列印表明使用者登入成功。(如何實現,你自己琢磨一下吧~!)

 

 

將瀏覽器最大化

 

我們知道呼叫啟動的瀏覽器不是全屏的,這樣不會影響指令碼的執行,但是有時候會影響我們“觀看”指令碼的執行。

#coding=utf-8

from selenium import webdriver
import time

browser = webdriver.Firefox()

browser.get("http://www.baidu.com")
time.sleep(2)

print "瀏覽器最大化"
browser.maximize_window()  #將瀏覽器最大化顯示
time.sleep(2)

browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
time.sleep(3)
browser.quit()

 

 

設定瀏覽器固定寬、高

 

最大化還是不夠靈活,能不能隨意的設定瀏覽的寬、高顯示?當然是可以的。

#coding=utf-8
from selenium import webdriver
import time

browser = webdriver.Firefox()

browser.get("http://m.mail.10086.cn")
time.sleep(2)

print "設定瀏覽器寬480、高800顯示"
browser.set_window_size(480, 800)  #引數數字為畫素點
time.sleep(3)
browser.quit()

這個需求也還是有的,比如我們通過PC瀏覽器在訪問一下手機網站時,調整瀏覽器為手機螢幕的寬、高,容易發現一些顯示問題。(上面的手機郵箱網站就是筆者測試過的一個產品)

 

 

操控瀏覽器前進、後退

 

瀏覽器上有一個後退、前進按鈕,對於瀏覽網頁的人是比較方便的;對於做web自動化測試的同學來說應該算是一個比較難模擬的問題;其實很簡單,下面看看python的實現方式

#coding=utf-8

from selenium import webdriver
import time

browser = webdriver.Firefox()

#訪問百度首頁
first_url= 'http://www.baidu.com'
print "now access %s" %(first_url)
browser.get(first_url)
time.sleep(2)

#訪問新聞頁面
second_url='http://news.baidu.com'
print "now access %s" %(second_url)
browser.get(second_url)
time.sleep(2)

#返回(後退)到百度首頁
print "back to  %s "%(first_url)
browser.back()
time.sleep(1)

#前進到新聞頁
print "forward to  %s"%(second_url)
browser.forward()
time.sleep(2)

browser.quit()

為了使過程讓你看得更清晰,在每一步操作上都加了print sleep 

說實話,這兩個功能平時不太常用,所能想到的場景就是幾個頁面來回跳轉,但又不想用get url的情況下。

 

 

 

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

學習更多selenium 內容:

 「功能測試自動化」彙總

 

 

相關文章