GitHub Actions中Robot Framework测试因SeleniumLibrary依赖失败求助
解决GitHub Actions中Robot Framework测试无法找到SeleniumLibrary的问题
核心问题分析
从报错信息可定位两个关键问题:
ModuleNotFoundError: No module named 'SeleniumLibrary':CI环境未正确安装SeleniumLibrary依赖No keyword with name 'Open Browser' found:属于前者引发的连锁问题,库未导入成功导致关键字无法识别
具体修复步骤
1. 修正requirements.txt依赖配置
SeleniumLibrary在PyPI上的包名是robotframework-seleniumlibrary(带robotframework-前缀),检查你的requirements.txt,确保包含以下内容:
robotframework robotframework-seleniumlibrary
若缺少相关依赖,补充后提交至仓库。
2. 完善GitHub Actions工作流
需要添加浏览器及驱动安装步骤,同时确保依赖安装与测试运行使用同一Python环境:
修改后的工作流示例:
name: CI on: push: branches: [ "main" ] pull_request: branches: [ "main" ] workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python 3.9 uses: actions/setup-python@v3 with: python-version: 3.9 cache: 'pip' - name: Install Python dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt # 验证依赖安装状态 pip show robotframework-seleniumlibrary - name: Install Chrome and ChromeDriver uses: browser-actions/setup-chrome@v1 with: chrome-version: latest - name: Run tests run: | # 用python -m robot确保调用当前环境的robot命令 python -m robot TESTS
3. 关键修复点说明
- 依赖验证:添加
pip show robotframework-seleniumlibrary可在CI日志中确认依赖是否安装成功,便于快速排查问题 - 浏览器安装:Ubuntu-latest默认未预装Chrome,通过
browser-actions/setup-chrome可快速安装Chrome及匹配驱动,解决Selenium无法启动浏览器的潜在问题 - 环境一致性:使用
python -m robot替代直接robot命令,确保调用的是setup-python配置的Python环境,避免环境不一致导致的依赖找不到问题
内容的提问来源于stack exchange,提问作者Lukas
相关产品推荐
相关产品推荐

