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

如何在AWS Device Farm上运行基于Python 3.x的Appium测试?

问题根因

你遇到的问题不是Python 3不再被AWS Device Farm支持,也不是平台有未公开变更,核心原因是不同执行阶段的shell上下文是相互隔离的:
你在install阶段设置的环境变量、激活的Python 3虚拟环境,仅在install阶段生效,进入test阶段后环境会重置,此时调用的py.test是系统默认的Python 2.7对应的全局版本,就会出现版本不兼容报错。

修复方案

方案1(推荐:和原有配置逻辑兼容)

在test阶段重新激活Python 3虚拟环境后再执行测试,完整测试规范示例如下:

phases:
  install:
    commands:
      # 原有install阶段配置无需修改
      - export PYTHON_VERSION=3
      - cd $DEVICEFARM_TEST_PACKAGE_PATH
      - . bin/activate
      - pip install -r requirements.txt
  test:
    commands:
      - echo "Navigate to test package directory"
      - cd $DEVICEFARM_TEST_PACKAGE_PATH
      # 新增:test阶段重新激活Python 3虚拟环境
      - . bin/activate
      - echo "Start Appium Python test"
      - py.test tests/ --junit-xml $DEVICEFARM_LOG_DIR/junitreport.xml

如果担心还是调用到全局的py.test,可以直接指定虚拟环境内的可执行文件:
./bin/py.test tests/ --junit-xml $DEVICEFARM_LOG_DIR/junitreport.xml

方案2(兜底:直接调用全局Python 3)

如果不想依赖虚拟环境,也可以直接显式调用Python 3执行测试:

  1. 在install阶段新增命令pip3 install -r requirements.txt,把依赖安装到全局Python 3环境
  2. 在test阶段把测试命令替换为python3 -m pytest tests/ --junit-xml $DEVICEFARM_LOG_DIR/junitreport.xml

目前AWS Device Farm自定义测试环境依然对Python 3提供官方支持,没有发布过终止支持的公开通知。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:54:03