apifox中如何通过脚本获取cookies

apifox如何使用脚本

这一篇文章讲解的是在apifox中如何通过脚本获取cookies

第一步 先写脚本

我们使用selenium去获取cookies 要是有人不会selenium可以看看我前面的几篇文章

python-自动化测试selenium入门第一天

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
def Get_cookies():
    # 设置Chrome不自动关闭
    options = Options()
    options.add_experimental_option('detach', True)
    # 使用无头模式 浏览器不会显示出来:
    options = webdriver.ChromeOptions()
    options.add_argument('--headless')
    options.add_argument('window-size=1920x1080')  # 窗口大小
    options.add_argument('--start-maximized')
    driver = webdriver.Chrome(options=options   )
    driver.get('XXX.COM') #这是你想要登录的网址
    sleep(2)
    driver.find_element(By.NAME,'username').send_keys('name') #这是通过find_element去定位username输入框
    driver.find_element(By.NAME,'password').send_keys('password')#这是通过find_element去定位password输入框
    driver.find_element(By.XPATH,'//*[@id="app"]/div/div[1]/div[2]/form/button[1]').click()#这是通过find_element去定位点击登录
    sleep(2)
    cookie = driver.get_cookies()[0]["value"] #这是获取cookie
    print(cookie)
    driver.close()
 Get_cookies()

可以先run一下 看能不能获取到cookie
在这里插入图片描述
运行成功可以进行下一步操作了

以上是编写的获取cookies的脚本 现在我们可以回到apifox中去添加脚本,在设置里的外部程序中可以放置脚本脚本放置地方
再把文件放进去
在这里插入图片描述
打开一个接口 点击前置操作
在这里插入图片描述

// await---用于等待一个一步方法执行完成
var data = await  pm.executeAsync('./get_cookies.py')
console.log(data)
pm.environment.set("cookies", data);  //设置临时变量
pm.environment.get("cookies")        //获取临时变量

再运行一下 看一下是否成功

成功了 我们再进行下一步操作 添加网关
在这里插入图片描述
我这边是从父类继承 可以去根目录设置 可以根据去求去调整 如果不同的接口需要使用不同的cookies 可以去接口文档修改
再回到根目录
在这里插入图片描述
这个类型的key值是你接口响应标头的名字
在这里插入图片描述
value值就是刚刚设置的临时参数
这样设置 一个接口去调用这个前置脚本就能获取到cookies 会作用于整个根目录之下 这样我们可以再去运行一下接口 看看可以获取到数据么
在这里插入图片描述
成功了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值