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 必须在这里是正确的

⑨ 门店接口请求成功

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

相关推荐
LT10157974447 小时前
2026年国产兼容RPA选型指南:国产系统与软件全适配
自动化·rpa
qingfeng154157 小时前
企业微信机器人开发:如何实现自动化与智能运营?
人工智能·python·机器人·自动化·企业微信
pengyi8710157 小时前
独享IP池自动化维护方案,智能检测自动延长使用寿命
网络协议·tcp/ip·自动化
Agent手记8 小时前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
德思特11 小时前
通过 Wireshark 抓取串口命令
网络协议·测试工具·wireshark
不会武功的火柴11 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
慧都小妮子14 小时前
告别看图抓数据:DeviceXPlorer OPC Server 助力数据自动化管理
运维·物联网·自动化·takebishi·dxpserver·opc server
Wpa.wk14 小时前
APP自动化-Appium环境安装
运维·appium·自动化
影sir15 小时前
Selenium常用函数(窗口与弹窗)
selenium·测试工具
qingfeng1541515 小时前
企业微信 API 自动化开发指南:从消息回调到智能运营实战
java·开发语言·python·自动化·企业微信