selenium自动化调用接口为null问题处理

某系统http://192.168.2.114:10018/\*\*\*nt/#/login

手动请求门店接口:http://192.168.2.114:10018**vice/api/user/doFbmCheckUser

但是,自动化浏览器的门店请求接口:http://null/**rvice/api/user/doFbmCheckUser,导致自动化失败

解决:

✨public设置一个公用函数(根据自己的实际框架)

python 复制代码
# @file:js_inject.py

def fix_base_url(driver, ip, port):
    driver.execute_script(f"""
    localStorage.setItem('baseIP', '{ip}');
    localStorage.setItem('basePostPort', '{port}');

    if (window._config) {{
        window._config.baseURL =
          `http://${{localStorage.getItem("baseIP")}}${{
            localStorage.getItem("basePostPort")
              ? ":" + localStorage.getItem("basePostPort")
              : ""
          }}/iPOSService`;
    }}
    """)

在测试用例层级进行调用(示例)

python 复制代码
login = LoginPage(driver)

# ① 打开页面
driver.get(url)

# ②③ 输入账号密码
login.input_account("test1")
login.input_password("******")

# ④ 在点门店之前修正 baseURL
fix_base_url(driver, "192.168.2.114", "10018")

# ⑤ 点击门店输入框(触发校验 + 门店接口)
login.click_store_input()

# ⑥ 等门店列表出现(可选)
wait_store_loaded(driver)

# ⑩ 点击登录
login.click_login()

完整的生命周期:

① 页面加载

② 输入账号

③ 输入密码

④ (此时还没校验账号密码)

⑤ 点击【门店输入框】

→ 触发后端接口

→ 后端校验账号 + 密码

⑥ 校验成功

→ 返回用户信息

→ 返回该用户可见的门店列表

⑦ 前端开始拼接 baseURL

→ 准备调用 doFbmCheckUser

⑧ ⭐ baseURL 必须在这里是正确的

⑨ 门店接口请求成功

⑩ 点击【登录】按钮(只是最终确认)

相关推荐
k7Cx7e4 小时前
Thinkphp6在Postman中接收不到Post参数的解决办法
测试工具·postman
专吃海绵宝宝菠萝屋的派大星4 小时前
使用postman测试自己编写的mcp服务
测试工具·lua·postman
Agent产品评测局4 小时前
企业数据处理自动化落地,抓取分析全流程实现方案 —— 2026企业级智能体选型与技术路径深度解析
运维·人工智能·ai·自动化
牛奶咖啡135 小时前
DevOps自动化运维实践_ansible-playbook的应用
自动化·云计算·ansible·devops·playbook·playbook的常见使用示例·playbook变量主机命令
Gofarlic_OMS5 小时前
装备制造企业Fluent许可证成本分点典型案例
java·大数据·开发语言·人工智能·自动化·制造
北京耐用通信5 小时前
无缝衔接·高效传输——耐达讯自动化CC-Link IE转Modbus TCP核心解决方案
网络·人工智能·物联网·网络协议·自动化·信息与通信
Agent产品评测局6 小时前
互联网行业自动化平台选型,运营全流程提效指南:2026企业级智能体架构与实战全解析
运维·人工智能·ai·chatgpt·架构·自动化
ZC跨境爬虫6 小时前
Scrapy工作空间搭建与目录结构解析:从初始化到基础配置全流程
前端·爬虫·python·scrapy·自动化
三思守心7 小时前
从 0 到 1 搭建自动化内容工厂:深度测评楼兰AI及其在全平台发帖中的表现
运维·服务器·自动化
ZKNOW甄知科技7 小时前
数智同行:甄知科技2026年Q1季度回顾
运维·服务器·人工智能·科技·程序人生·安全·自动化