-
1 # 一品律師
-
2 # 菸草的香味
Python下的selenium和splinter模組是可以完成瀏覽器自動化測試的.
splinter文件如下:
英文文件: http://splinter.readthedocs.io/en/latest/
中文文件: http://splinter-docs-zh-cn.readthedocs.io/zh/latest/index.html
selenium文件: http://selenium-python.readthedocs.io/ (英文文件, 中文文件暫未發現)
selenium下面主要介紹以下selenium模組:
在使用之前要錢安裝模組, 使用python的pip命令安裝即可
首先需要建立瀏覽器的驅動物件, 使用其中的webdriver模組
1.使用前需要匯入:
from selenium import webdriver2. 啟動瀏覽器並拿到瀏覽器物件
# 啟動火狐瀏覽器driver = webdriver.Firefox()# 啟動谷歌瀏覽器driver = webdriver.Chrome()# 啟動ie瀏覽器driver = webdriver.Ie()3. 拿到瀏覽器物件後就可以對瀏覽器進行一系列操作了
瀏覽器物件有如下方法(給出部分):
current_window_handle: 當前視窗控制代碼
window_handles: 所有視窗控制代碼
switch_to_window(handle): 切換視窗焦點
title: 網頁標題
page_source: 網頁原始碼
save_screenshot(path): 將頁面截圖儲存(路徑)
close(): 關閉瀏覽器
get(url): 傳送get請求
switch_to_alert(): 獲取頁面彈窗物件
execute_script(js): 執行js語句
forwared(): 前進
back(): 後退
add_cookie(cookie): 新增 cookie
get_cookies(): 返回當前對話的cookies(字典)
find_element_by_class_name(name): 根據class屬性查詢標籤, 返回一個
find_elements_by_class_name(name): 根據class屬性查詢標籤, 返回所有
find_element_by_id(id_): 根據id屬性查詢標籤, 返回 WebElement 物件
find_element_by_name(name): 根據name屬性查詢標籤, 返回 WebElement 物件
find_elements_by_name(name): 根據name屬性查詢標籤, 返回所有
find_element_by_tag_name(name): 根據標籤名查詢標籤, 返回 WebElement 物件
find_elements_by_tag_name(name): 根據標籤名查詢標籤, 返回所有
其中的WebElement物件為網頁中的標籤物件, 方法大概如下(部分):
click(): 點選此標籤send_keys(*value): 模擬輸入元素,一些特殊的按鍵定義在Keys中(from selenium.webdriver.common.keys import Keys)clear(): 清除輸入內容submit(): 提交表單find_element_by_class_name(name): 根據class屬性查詢標籤find_elements_by_class_name(name): 根據class屬性查詢標籤, 返回所有find_element_by_id(id_): 根據id屬性查詢標籤, 返回 WebElement 物件find_elements_by_id(id_): find_element_by_name(name): 根據name屬性查詢標籤, 返回 WebElement 物件find_elements_by_name(name): find_element_by_tag_name(name): 根據標籤名查詢標籤, 返回 WebElement 物件find_elements_by_tag_name(name): find_element_by_xpath(xpath): 根據 xpath 查詢標籤, 返回 WebElement 物件find_elements_by_xpath(xpath):以上僅給出部分方法, 具體使用可到文件中檢視("http://selenium-python.readthedocs.io/ ")
之後呼叫方法完成自己的需求即可, 將程式寫好後, 瀏覽器就可以按照程式進行自動化操作了
Chrome的驅動應該是要下載, 自行谷歌一下就好
使用selenium操控Chrome, 效果就像這樣(之前寫的一個爬花瓣圖片的程式):
-
3 # 請叫我磚家
自動化測試所具備的基礎:測試基礎,程式設計基礎,對自動化的想法。
當然,如果說你沒有語言基礎也可以做,無非是在別人或者其他工具上,如公司自研工具 qtp等。如果換一家公司呢?
8年測試開發經驗,開始兩年在公司自研工具上做介面自動化。自己萌生了想要自己寫一個介面自動化工具的想法。有了想法然後就去學習,各種自動化的思想,Python,參考各種大神的作品。寫了簡單的工具,現在想想還挺有意思。
後來由於工作需要寫一年Python,寫了一年Java。
後面接觸了robotframework 還是挺好用的,樓主可以瞭解下它的思想。後來主要就是寫一寫api供其他同學使用。
後面接觸了一些其他的框架如pytest。組織好層次結構,寫起來還是挺快的,沒有束縛,愛怎麼寫怎麼寫。
其實自動化測試工具大同小異。只要你思想到位。自動化化測試都是通的比如 關鍵字驅動, 資料驅動 ,結果校驗,前置後置等等。每個自動化工具或者測試框架都會有的。
祝樓主成功
-
4 # 測試老油條
問這個問題的估計是小白吧,python是開發語言,selenium是UI自動化框架,這兩個加起來是沒法做介面自動化測試的。
python+requests+pytest:
這個組合是市面上最流行的介面自動化組合套餐。requests是python的一個庫,提供了很多api方法,可以用來做http協議的介面測試,加上pytest框架,能夠幫助你快速入門介面自動化測試,具體更詳細的學習教程,自己百度一下一大堆。
python+selenium:
這個是web端的ui自動化測試組合,selenium提供了豐富的元素定位方法,可以滿足web端的ui自動化測試,也是當前最實用最流行的框架。
如果要做app端的ui自動化,可以使用appium,也是非常好用,我給你介紹的都是當前網際網路行業最流行的框架組合,希望你先去學習什麼是介面測試,再來了解介面自動化測試是怎麼回事。
回覆列表
這個問題是一個偽問題,沒有對問題進行針對性的提問,如果你不是一個測試員或者技術員,請先去了解一下什麼是程式。
瞭解一下什麼時白盒測試什麼是黑盒測試。
有了基本的瞭解,估計你就不會提這個問題了。