python和selenium如何做接口自動化測試?
Python下的selenium和splinter模塊是可以完成瀏覽器自動化測試的.

selenium
下面主要介紹以下selenium模塊:
在使用之前要錢安裝模塊, 使用python的pip命令安裝即可
首先需要創(chuàng)建瀏覽器的驅(qū)動對象, 使用其中的webdriver模塊
1.使用前需要導入:
from selenium import webdriver
2. 啟動瀏覽器并拿到瀏覽器對象
# 啟動火狐瀏覽器
driver = webdriver.Firefox()
# 啟動谷歌瀏覽器
driver = webdriver.Chrome()
# 啟動ie瀏覽器
driver = webdriver.Ie()
3. 拿到瀏覽器對象后就可以對瀏覽器進行一系列操作了
瀏覽器對象有如下方法(給出部分):
-
current_window_handle: 當前窗口句柄
-
window_handles: 所有窗口句柄
-
switch_to_window(handle): 切換窗口焦點
-
title: 網(wǎng)頁標題
-
page_source: 網(wǎng)頁源代碼
-
save_screenshot(path): 將頁面截圖保存(路徑)
-
close(): 關(guān)閉瀏覽器
-
get(url): 發(fā)送get請求
-
switch_to_alert(): 獲取頁面彈窗對象
-
execute_script(js): 執(zhí)行js語句
-
forwared(): 前進
-
back(): 后退
-
add_cookie(cookie): 添加 cookie
-
get_cookies(): 返回當前對話的cookies(字典)
-
find_element_by_class_name(name): 根據(jù)class屬性查找標簽, 返回一個
-
find_elements_by_class_name(name): 根據(jù)class屬性查找標簽, 返回所有
-
find_element_by_id(id_): 根據(jù)id屬性查找標簽, 返回 WebElement 對象
-
find_element_by_name(name): 根據(jù)name屬性查找標簽, 返回 WebElement 對象
-
find_elements_by_name(name): 根據(jù)name屬性查找標簽, 返回所有
-
find_element_by_tag_name(name): 根據(jù)標簽名查找標簽, 返回 WebElement 對象
-
find_elements_by_tag_name(name): 根據(jù)標簽名查找標簽, 返回所有
其中的WebElement對象為網(wǎng)頁中的標簽對象, 方法大概如下(部分):
- click(): 點擊此標簽
- send_keys(*value): 模擬輸入元素,一些特殊的按鍵定義在Keys中(from selenium.webdriver.common.keys import Keys)
- clear(): 清除輸入內(nèi)容
- submit(): 提交表單
- find_element_by_class_name(name): 根據(jù)class屬性查找標簽
- find_elements_by_class_name(name): 根據(jù)class屬性查找標簽, 返回所有
- find_element_by_id(id_): 根據(jù)id屬性查找標簽, 返回 WebElement 對象
- find_elements_by_id(id_):
- find_element_by_name(name): 根據(jù)name屬性查找標簽, 返回 WebElement 對象
- find_elements_by_name(name):
- find_element_by_tag_name(name): 根據(jù)標簽名查找標簽, 返回 WebElement 對象
- find_elements_by_tag_name(name):
- find_element_by_xpath(xpath): 根據(jù) xpath 查找標簽, 返回 WebElement 對象
- find_elements_by_xpath(xpath):
以上僅給出部分方法, 具體使用可到文檔中查看('http://selenium-python.readthedocs.io/ ')
之后調(diào)用方法完成自己的需求即可, 將程序?qū)懞煤? 瀏覽器就可以按照程序進行自動化操作了
Chrome的驅(qū)動應(yīng)該是要下載, 自行谷歌一下就好

