You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现定时自动化测试验证已部署Streamlit应用的正常运行状态

Streamlit应用自动化测试解决方案

完全可以实现你需要的自动测试能力,常用的有两类落地路径:

  • 优先使用Streamlit官方内置的AppTest测试框架
    Streamlit 1.28及以上版本自带了原生端到端测试工具,不需要引入第三方web自动化依赖,直接用Python代码就可以模拟所有用户操作:切换标签页、输入测试参数、点击交互控件、校验页面输出内容是否符合预期,轻量易维护。
    基础测试用例示例:
    from streamlit.testing.v1 import AppTest
    import pytest
    
    def test_all_tabs_workflow():
        # 加载你的应用入口文件
        at = AppTest.from_file("你的应用入口文件.py", default_timeout=10)
        at.run()
        # 校验应用初始化无报错
        assert not at.exception, "应用启动失败"
    
        # 遍历所有标签页依次测试
        for tab_index, tab in enumerate(at.tabs):
            tab.run()
            # 按你的业务逻辑填入对应测试参数
            if tab_index == 0:
                at.number_input(key="age_input").set_value(25).run()
                at.selectbox(key="city_select").select("北京").run()
            elif tab_index == 1:
                at.text_input(key="query_input").input("测试查询内容").run()
                at.button(key="search_btn").click().run()
            # 校验当前标签页返回内容符合预期
            assert len(at.success) >=1, f"第{tab_index+1}个标签页运行异常"
            assert not at.exception, f"第{tab_index+1}个标签页抛出错误"
    
    写好测试用例后直接用pytest执行即可,你可以搭配系统定时任务(Linux cron、Windows任务计划、容器化环境的CronJob)设置每4小时执行一次,测试失败时可以配置脚本触发告警通知。
  • 通用web UI自动化工具适配
    如果你的应用有登录校验、人机验证这类复杂交互,官方工具支持不足,可以选择Selenium、Playwright这类通用web自动化框架,模拟真实浏览器操作全流程:打开应用地址、输入账号密码登录、依次操作所有标签页的控件、校验元素是否正常渲染,出现异常时自动截图留存故障现场。

内容的提问来源于stack exchange,提问作者msksantosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 08:06:05