HttpRunner 请问 httprunner 中的 debugtalk.py 如何引用其他包?导入其他包总会报错 ModuleNotFoundError: No module named xxx

肖明军 · 2021年08月30日 · 最后由 tester 回复于 2021年09月01日 · 2935 次阅读

在学习 httprunner 中遇到个很头疼的问题,debugtalk.py 中的代码运行 py 文件可以正常执行,但是在执行 yml 用例时,调用 denbugtalk 文件总会报错,提示:ModuleNotFoundError: No module named 'login',请问大家有什么好的解决办法吗?

共收到 4 条回复 时间 点赞

login 模块与 debugtalk.py 不在同一层级,直接引用是找不到的
我的做法如下,把模块添加到系统变量,然后再 import 就可以了
fapath = os.path.dirname(os.path.dirname(file))
sys.path.append(fapath)

检查:1、要引用的文件路径是否正确。2、httprunner 的话这个文件目录好像是特定位置。
在 yaml 文件中,可以直接调用 debugtalk.py 文件中的函数名,但是前提是 debugtalk.py 需要与 yaml 文件在同一个目录下

tester 回复

感谢,真的管用

肖明军 回复

建议还是以项目根目录为基准,使用相对路径,别人运行项目也不会有问题
fapath = os.path.dirname(os.path.dirname(file))

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册