我的测试框架采用以下格式,我试图从test_login.py调用login.py。
testSuite
\projects
\project1
\pageobjects
\login.py
\testcase
\test_login.py (contains class 'LoginPage')
\testframeworkcode\
在test_login.py中,当我以下列方式导入时,出现以下错误。
from projects.project1.pageobjects.login import LoginPage
ModuleNotFoundError: No module named 'projects'
经过一段时间的搜索后,我使用了以下方法,然后给出了下面的错误
from ..pageobjects.login import LoginPage
ValueError: attempted relative import beyond top-level package
有人可以帮助解决造成这些错误的原因吗?
我正在使用Python3并使用pytest来执行我的测试用例并使用pycharm IDE。
编辑: 当我在'testsuite'文件夹中执行它时,以下命令可以正常工作,没有任何错误,就像上面描述的文件夹结构一样。
python3 -c 'import projects.project1.pageobjects.login'
python3 -c 'import projects.project1.pageobjects'
python3 -c 'import projects.project1'
python3 -c 'import projects'
但是,当我使用这些导入并使用pytest或nosetests执行测试用例时,我得到一个ModuleNotFoundError。
我在项目目录的所有子文件夹中都有 init .py文件。即使我删除了这些 init .py文件,我也会得到相同的结果。