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

⑨ 门店接口请求成功

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

相关推荐
3824278272 小时前
python:selenium,CSS位置偏移反爬案例
css·python·selenium
mudtools4 小时前
当传统工单遇见飞书:.NET系统的协作升级之旅
c#·自动化·.net·飞书
傻啦嘿哟4 小时前
Python实现Excel数据自动化处理:从繁琐操作到智能流程的蜕变
python·自动化·excel
JTnnnnn16 小时前
【疑難排解】解決 Postman 無法上傳本地文件(Couldn‘t upload file)的問題
测试工具·postman
Minecraft红客18 小时前
ai_dialogue_framework项目1.0(纯原创)
c++·测试工具·电脑
技术小甜甜18 小时前
[AI Agent] 如何在本地部署 Aider 并接入局域网 Ollama 模型,实现本地智能助手操作系统资源
人工智能·ai·自动化·agent
天空属于哈夫克319 小时前
利用剪贴板“管道”实现超大文本的极速填充
自动化·企业微信·api·rpa
Blossom.11820 小时前
GPTQ量化实战:从零手写大模型权重量化与反量化引擎
人工智能·python·算法·chatgpt·ai作画·自动化·transformer