一.確定思路:
(1)python腳本參數(shù)傳遞到apifox中
- python腳本使用selenium獲取cookies
- 將cookies值賦值到全局參數(shù)的header里
- 用戶信息查詢攜帶全局參數(shù)的header值進(jìn)行進(jìn)行請求
- 添加后置操作獲取用戶的ID值以及響應(yīng)斷言
1.python結(jié)合selenium獲取cookies腳本
技術(shù)點(diǎn)(無頭模式/selenium/xpath)
# getcookies.py
# -*- coding:utf-8 -*-
import os
import warnings
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
warnings.simplefilter('ignore', ResourceWarning)
def Get_cookies():
warnings.simplefilter('ignore', ResourceWarning)
# 使用無頭模式
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('window-size=1920x1080') # 窗口大小
options.add_argument('--start-maximized')
browser = webdriver.Chrome(options=options)
browser.get('http://xxxx.com/')
time.sleep(2)
browser.find_element(by=By.XPATH, value='//input[@id="username"]').send_keys('xxx)
browser.find_element(by=By.XPATH, value='//input[@id="password"]').send_keys("xxx")
browser.find_element(by=By.XPATH, value='//button[contains(text(), "登錄")]').click()
time.sleep(2)
browser.get('http://xxxx11xxx')
cookie = "OAUTH2SESSION=" + browser.get_cookies()[0]["value"]
print(cookie)
browser.quit()
Get_cookies()
2.自定義腳本執(zhí)行與參數(shù)獲取
(1)將python腳本(getcookies.py)放入apifox的的外置腳本下
右上角點(diǎn)擊設(shè)置,設(shè)置頁面點(diǎn)擊外部程序

1686119865979.png
點(diǎn)擊打開目錄,apifox會自動打開一個文件夾,將getcookies.py這個腳本放入文件夾下即可

1686119935661.png
(2)腳本調(diào)用獲取cookies值

1686120142211.png
3.進(jìn)行全局變量Header里面的Cookies設(shè)置

1686120332958.png

1686120368265.png
4.接口發(fā)起請求

1686120633451.png
5.進(jìn)行響應(yīng)斷言和參數(shù)提取

1686121597384.png