构建含Robot Framework与QWeb的Docker镜像遇资源文件缺失问题求助
问题解决:Robot Framework + QWeb Docker镜像运行报错修复
核心问题
你安装的qweb并非Robot Framework所需的QWeb测试库,PyPI上的qweb是一个无关的Python包,Robot Framework的QWeb库对应的正确包名是robotframework-qweb,这是导致Robot找不到QWeb资源文件的根本原因。
修复后的Dockerfile
替换原Dockerfile中错误的包安装命令,同时优化镜像分层以减小体积:
FROM python:3 # 安装Chrome浏览器 RUN apt-get update && apt-get install -y wget google-chrome-stable \ && rm -rf /var/lib/apt/lists/* \ && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ && echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list # 安装Robot Framework和正确的QWeb库 RUN pip install --no-cache-dir robotframework robotframework-qweb ENTRYPOINT ["robot"] CMD ["-d", "/opt/robotframework/reports", "--outputdir", "/opt/robotframework/reports", "--loglevel", "INFO", "--include", "QWeb", "/opt/robotframework/tests"]
额外验证步骤
- 重新构建镜像:
docker build -t robot-qweb . - 检查测试用例的导入语句是否正确:
*** Settings *** Resource QWeb.robot - 若仍有问题,可进入容器确认QWeb资源文件存在:
正常情况下会找到该文件,Robot Framework会自动识别此路径。docker run --rm -it robot-qweb /bin/bash # 查找QWeb资源文件 find /usr/local/lib/python3*/site-packages -name "QWeb.robot"
内容的提问来源于stack exchange,提问作者Janika
相关产品推荐
相关产品推荐

