一.确定思路:
(1)python脚本参数传递到apifox中
- python脚本使用selenium获取cookies
- 将cookies值赋值到全局参数的header里
- 用户信息查询携带全局参数的header值进行进行请求
- 添加后置操作获取用户的ID值以及响应断言
1.python结合selenium获取cookies脚本
技术点(无头模式/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.自定义脚本执行与参数获取
(1)将python脚本(getcookies.py)放入apifox的的外置脚本下
右上角点击设置,设置页面点击外部程序
点击打开目录,apifox会自动打开一个文件夹,将getcookies.py这个脚本放入文件夹下即可
(2)脚本调用获取cookies值
3.进行全局变量Header里面的Cookies设置
4.接口发起请求
5.进行响应断言和参数提取