pytest执行用例时从conftest.py抛出ModuleNotFoundError:No module named ‘XXX‘异常的解决办法

问题描述

本地运行正常,集成到Jenkins后使用执行 Windows 批处理命令运行测试用例时报错:

bash 复制代码
D:\PycharmProject\ZeppAndroid>pytest -vs  testcase\test_login.py --alluredir=report/allure_json --clean-alluredir 
ImportError while loading conftest 'D:\PycharmProject\ZeppAndroid\testcase\conftest.py'.
testcase\conftest.py:2: in <module>
    from po.prepare import *
E   ModuleNotFoundError: No module named 'po'

解决办法

经排查确认模块导入的方式是正确的,conftest.py却没有成功地引入这个模块,这里就涉及到执行路径的关系,testcase目录在项目根目录下,是pytest的覆盖范围,我们只需要改变conftest.py的执行路径就可以了,在conftest.py模块中添加以下代码

bash 复制代码
import sys, os

sys.path.append((os.path.abspath(os.path.join(os.path.dirname(__file__), '../'))))
相关推荐
美团测试工程师12 小时前
使用pytest单元测试框架执行单元测试
单元测试·pytest
惜.己2 天前
软件测试(基础+手动测试+接口测试+pytest+allure+postman)
python·功能测试·测试工具·pycharm·单元测试·pytest·接口测试·1024程序员节
是阿尘呀3 天前
Pytest+Allure+飞书机器人
开发语言·python·机器人·pytest·飞书
开心呆哥4 天前
【pytest中同一个用例多次执行生成一个测试报告的方法】
linux·服务器·pytest
blues_C4 天前
Pytest-Bdd-Playwright 系列教程(2):支持在多浏览器、多环境中执行测试
自动化测试·pytest·bdd·playwright
测试杂货铺5 天前
Pytest自动化测试执行环境切换的两种解决方案
自动化测试·软件测试·python·测试工具·测试用例·pytest·1024程序员节
惜.己5 天前
Appium中的api(二)
python·测试工具·pycharm·单元测试·appium·pytest·1024程序员节
惜.己5 天前
Appium环境搭建全流程(含软件)
python·测试工具·node.js·appium·pytest·安卓·1024程序员节
画江湖Test5 天前
pytest 单元框架里,前置条件
python·自动化·pytest·测试·1024程序员节