1. 程式人生 > >selenium+python自動化測試(二)--使用webdriver操作瀏覽器

selenium+python自動化測試(二)--使用webdriver操作瀏覽器

WebDriver簡介

selenium從2.0開始集成了webdriver的API,提供了更簡單,更簡潔的程式設計介面。selenium webdriver的目標是提供一個設計良好的面向物件的API,提供了更好的支援進行web-app測試。從這篇部落格開始,將學習使用如何使用python呼叫webdriver框架對瀏覽器進行一系列的操作

開啟瀏覽器

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
print(driver.title
) driver.find_element_by_id("kw").send_keys("selenium") driver.find_element_by_id("su").click() time.sleep(3) driver.close()

執行指令碼的第一步是開啟瀏覽器,使用webdriver.Chrome()開啟谷歌瀏覽器,如果要指定其他瀏覽器,比如要使用Firefox或者IE瀏覽器,更換瀏覽器名稱就可以了

driver = webdriver.Chrome() //開啟Chrome瀏覽器
driver = webdriver.Firefox() //開啟Firefox瀏覽器
driver = webdriver.Ie() //開啟IE瀏覽器

第二步操作是開啟頁面,使用driver.get(url)方法來開啟網頁連結,例如指令碼中開啟百度首頁

driver.get("http://www.baidu.com")

接下來是print(driver.title),使用driver.title獲取當前頁面的title,title就是在瀏覽器tab上顯示的內容,例如百度首頁的標題是“百度一下,你就知道”

瀏覽器前進後退

在當前頁面開啟一個新的連結後,如果想回退到前一個頁面,使用如下driver.back(),相當於點選了瀏覽器的後退按鈕

和back操作對應的是瀏覽器前進操作driver.forward(),相當於點選了瀏覽器的前進按鈕

driver.back() //回到上一個頁面
driver.forward() //切換到下一個頁面

最大化瀏覽器視窗

瀏覽器執行後,如果頁面沒有最大化,可以呼叫driver.maximize_window()將瀏覽器最大化,相當於點選了頁面右上角的最大化按鈕

也可以自定義瀏覽器的尺寸

driver.maximize_window() //瀏覽器視窗最大化
driver.set_window_size(800, 720) //設定視窗大小為800*720

螢幕截圖

開啟頁面以後,可以對頁面進行截圖,在遇到異常的時候,根據截圖可以快速定位問題的原因所在

瀏覽器截圖操作,引數是截圖的圖片儲存路徑:

driver.get_screenshot_as_file("D:/data/test.png")

頁面重新整理

有時頁面過期後,網頁上顯示的資訊可能不是最新的,需要對頁面進行重新整理,使用refresh()方法重新整理頁面,相當於點選瀏覽器的重新整理按鈕

driver.refresh() //重新載入頁面

退出瀏覽器

在測試指令碼執行完後,一般會在最後關閉瀏覽器,有兩種方法關閉瀏覽器,close()方法用於關閉當前頁面,quit()方法關閉所有和當前測試有關的瀏覽器視窗

driver.close() //關閉當前頁面
driver.quit() //關閉所有由當前測試指令碼開啟的頁面

這篇部落格介紹了操作瀏覽器的各種方法,下篇將介紹如何查詢頁面上的元素

相關推薦

selenium+python自動化測試--使用webdriver操作瀏覽器

WebDriver簡介 selenium從2.0開始集成了webdriver的API,提供了更簡單,更簡潔的程式設計介面。selenium webdriver的目標是提供一個設計良好的面向物件的API,提供了更好的支援進行web-app測試。從這篇部落格開始,

selenium+python自動化測試瀏覽器的簡單操作

cat quit 報錯 簡單 conn port ted href ide 1.最大化 maximize_window 1 # coding = utf-8 2 3 from selenium import webdriver 4 chromedriver =

Python+Selenium - Web自動化測試:元素定位

前言 前面已經把環境搭建好了,現在開始使用 Selenium 中的 Webdriver 框架編寫自動化程式碼指令碼,我們常見的在瀏覽器中的操作都會有相對應的類方法,這些方法需要定位才能操作元素,不同網頁的元素也不同,可以根據自己情況選擇使用類方法。下面開始學習元素定位; New一個字尾為.py的P

selenium+python自動化測試環境

get gre gpo exe ren 瀏覽器版本 art lap close python裝的是3.5,chrome瀏覽器版本是17年初的 1.chromedriver 在http://chromedriver.storage.googleapis.com/index.h

Appium+Python自動化測試--執行App程式示例

在上一篇部落格中,已經將環境搭建好了。現在,我們利用搭建的環境來執行一條測試指令碼,指令碼中啟動一個計算器的應用,並實現加法的運算。 建立模擬器 在執行App之前,首先需要建立一個Android模擬器,也可以使用真機來執行,效果更佳。 進到Android

selenium+python自動化測試--多視窗切換

在很多頁面上都有可點選的連結,點選這些連結會開啟一個新的視窗,這時如果要在新開啟的視窗中操作頁面,就需要先切換到新視窗中,如果不進行切換操作,還是操作的上一個頁面視窗 瀏覽器視窗的切換通過控制代碼(handle)來操作,每個視窗都有一個控制代碼,代表當前視窗,

python+request+Excel做接口自動化測試

h+ put res setup 時間 except name 做了 resp 今天整了下python用request寫接口測試用例,做了個粗糙的大概的執行,具體還需找時間優化。這個采用對象化,配置以及常用函數為一個類,執行測試用例為另外的一個類。測試用例的撰寫大概如下(還

pythonselenium自動化測試

python 用selenium做自動化測試: 在w3school裡搜尋css python3 test_w3school_search.py XPath路徑表示式: http://www.ruanyifeng.com/blog/2009/07/xpath_pa

自動化測試如何用python寫一個使用者登陸功能

需求資訊: 寫一個判斷登入的程式: 輸入: username password 最大錯誤次數是3次,輸入3次都沒有登入成功,提示錯誤次數達到上限 需要判斷輸入是否為空,什麼也不輸入,輸入一個空格、n個空格都算空 登入成功,提示歡迎xxx,今天的日期是 xxx 可以用多個使用者登入,選做(多個使用者登入,

PythonSelenium自動化測試:Page Object專題

Page Object專題 頁面物件模型的設計優勢: 創造可以被多個測試用例共享的可重用程式碼。 減少大量重複的程式碼。 如果使用者介面發生改變,則修改只用在一處進行。 圖片來源: 目的:測試程式碼與被測頁面物件程式碼分離,後期如果有頁面元素髮生了更改,

selenium Python自動化測試基本的鍵盤事件

#coding=utf-8 ''' Created on 2015-5-10 @author: user ''' ''' 幾種常用的鍵盤指令: send_keys(Keys.BACK_SPACE) 刪除鍵(BackSpace) send_keys(Keys.SPACE) 空

基於Python的介面自動化測試抓包工具Fiddler

常見的抓包工具1. Fiddler:Fiddler是一款免費且功能強大的資料包抓取軟體,主要用於抓取HTTP/HTTPS協議,簡單易用目前主流的版本是Fiddler4,最新版本已經到了Fiddler5。2. Charles:這是一款在Mac下常用的抓包工具。3. Wiresh

Python+Selenium - Web自動化測試:環境搭建

清單列表:   Python 3x Selenium Chrome Pycharm 一、Python的安裝:   Python官網下載地址:https://www.python.org/   1. 

UI自動化測試瀏覽器操作及對元素的定位方法xpath定位和css定位詳解

cli 刷新 ota api enter 版本 ror apache 窗口 Selenium下的Webdriver工具支持FireFox(geckodriver)、 IE(InternetExplorerDriver)、Chrome(ChromeDriver)、 Opera

RobotFramework-UI自動化測試

info manual date load conf 嘗試 resolve gin 關鍵字 1、在cmd中輸入ride.py打開界面 創建project項目 選擇菜單欄file----->new Project 2、創建測試套件

Selenium】使用selenium進行自動化測試

1.元素定位與操作 查詢元素方法: driver.findElement(By arg0); 其中寫用來定位的API,常見用來定位的API有六種,接下來一一介紹: 1.1 By.id 根據id來獲取元素,返回單個元素,因為id值一般是唯一的。 //獲得id

Appium自動化測試之鍵盤操作pressKeyCode()方法Android特有

like driver.pressKeyCode(AndroidKeyCode), 比如HOME,driver.pressKeyCode(AndroidKeyCode.HOME); 下面提供Android keycode參考表: 電話鍵 KEYCODE_CALL 撥號鍵 5

selenium系列之webdriver 操作瀏覽器

d控制瀏覽器視窗大小:driver.set_window_size(480,800) 控制瀏覽器前進、後退:driver.forward()、driver.back() 重新整理瀏覽器:driver.refresh() 操作cookie: all_cookies = 

appium+python自動化測試4

 混合應用的開發:測試案例是《果時匯.apk》,首先,如果做appium測試,必須具備一定的app開發瞭解,比如什麼是混合開發,什麼是純h5開發,什麼是純原生的。將apk安裝到手機。首先是一個連線的問題:執行一段時間後設備adb服務中斷,多次拔插資料線才能再連上,換了多個ap

python自動化測試3- 自動化框架及工具

➜ src git:(master) ✗ python basic_demo.py test_isupper (__main__.TestStringMethods) ... init by setUp... FAIL end by tearDown... test_split (__main_