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

AWS Batch手动触发测试及多GUI页面自动化测试优化咨询

问题2:单镜像实现多页面测试的选择性执行

完全不需要制作15个独立镜像,单镜像即可实现灵活的测试选择,推荐两种实用方案:

方案1:利用Pytest原生的测试选择机制

将所有页面的测试用例按规则组织,运行时通过参数指定要执行的测试:

  • 标记分组:给每个页面的测试用例添加专属标记,比如:
    import pytest
    
    @pytest.mark.login_page
    def test_login_success():
        # 登录页面测试逻辑
        pass
    
    @pytest.mark.checkout_page
    def test_checkout_flow():
        # 结算页面测试逻辑
        pass
    
    触发测试时,在Batch作业的命令中指定标记:
    pytest -m login_page
    
  • 文件/目录划分:把每个页面的测试放在单独的文件或子目录中(如tests/login/、tests/checkout/),运行时指定目标文件/目录:
    pytest tests/login/
    

方案2:通过环境变量动态指定测试目标

在镜像中添加启动脚本,读取环境变量生成pytest命令:

  1. 编写run_tests.sh脚本:
    #!/bin/bash
    # 若指定了TEST_TARGET,运行目标测试;否则运行全部
    pytest ${TEST_TARGET:-.}
    
  2. 在Dockerfile中设置该脚本为入口点:
    COPY run_tests.sh /app/
    RUN chmod +x /app/run_tests.sh
    ENTRYPOINT ["/app/run_tests.sh"]
    
  3. 提交Batch作业时,通过container-overrides传递环境变量指定测试目标:
    aws batch submit-job \
      --job-name test-checkout \
      --job-queue <你的作业队列名称> \
      --job-definition <你的作业定义名称> \
      --container-overrides 'environment=[{name=TEST_TARGET,value="-m checkout_page"}]'
    

这种单镜像方案能大幅减少镜像维护成本,同时支持灵活的单页面、多页面或全量测试执行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:56:52