mic神
問這個問題的估計是小白吧,python是開發語言,selenium是UI自動化框架,這兩個加起來是沒法做接口自動化測試的。
python+requests+pytest:
這個組合是市面上最流行的接口自動化組合套餐。requests是python的一個庫,提供了很多api方法,可以用來做http協議的接口測試,加上pytest框架,能夠幫助你快速入門接口自動化測試,具體更詳細的學習教程,自己百度一下一大堆。
python+selenium:
這個是web端的ui自動化測試組合,selenium提供了豐富的元素定位方法,可以滿足web端的ui自動化測試,也是當前最實用最流行的框架。
如果要做app端的ui自動化,可以使用appium,也是非常好用,我給你介紹的都是當前互聯網行業最流行的框架組合,希望你先去學習什麼是接口測試,再來了解接口自動化測試是怎麼回事。
測試老油條
自動化測試所具備的基礎:測試基礎,編程基礎,對自動化的想法。
當然,如果說你沒有語言基礎也可以做,無非是在別人或者其他工具上,如公司自研工具 qtp等。如果換一家公司呢?
8年測試開發經驗,開始兩年在公司自研工具上做接口自動化。自己萌生了想要自己寫一個接口自動化工具的想法。有了想法然後就去學習,各種自動化的思想,Python,參考各種大神的作品。寫了簡單的工具,現在想想還挺有意思。
後來由於工作需要寫一年Python,寫了一年Java。
後面接觸了robotframework 還是挺好用的,樓主可以瞭解下它的思想。後來主要就是寫一寫api供其他同學使用。
後面接觸了一些其他的框架如pytest。組織好層次結構,寫起來還是挺快的,沒有束縛,愛怎麼寫怎麼寫。
其實自動化測試工具大同小異。只要你思想到位。自動化化測試都是通的比如 關鍵字驅動, 數據驅動 ,結果校驗,前置後置等等。每個自動化工具或者測試框架都會有的。
如果有興趣交流可以私信我。
祝樓主成功
請叫我磚家
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, 效果就像這樣(之前寫的一個爬花瓣圖片的程序):
菸草的香味
首先python是可以用來做接口自動化測試的,但是selenium好像並不支持,selenium是一款web端的UI自動化測試框架,並不能滿足做接口自動化測試。
我覺得要想利用python做接口自動化測試,可以考慮用python+requests來寫一套框架,python的requests模塊, 這個模塊是一個HTTP客戶端庫,編寫爬蟲和測試服務器響應數據時經常會用到。
下面給出一個requests的官方文檔,可以參考一下:
http://docs.python-requests.org/en/master/至於如何來操作?
我認為可以有兩個方面來考慮
python代碼能力強的可以用代碼寫一套框架,這個估計難度不是特別大。
也可以結合python+requests+robotframework,這個GUI的框架,可以參考我之前回答過的自動化測試的問題。
要是實在沒有思路寫的話,可以考慮看看開源的工具,postman。
非常不理智球迷
這個問題是一個偽問題,沒有對問題進行針對性的提問,如果你不是一個測試員或者技術員,請先去了解一下什麼是程序。
瞭解一下什麼時白盒測試什麼是黑盒測試。
有了基本的瞭解,估計你就不會提這個問題了。