我试过在类似的话题上找作者,但是.什么都帮不上忙。
当我用pytest -m blablabla运行我的常规测试时,没有问题,但是
当我按命令运行蝗虫时:
蝗虫-f _蝗虫文件/instr_-f
比这更重要:
(venv) evgen@TLL amapitest % locust -f my_locustfiles/instr_performance.py
Traceback (most recent call last):
File "/Users/evgen/venv/bin/locust", line 8, in <module>
sys.exit(main())
File "/Users/evgen/venv/lib/python3.10/site-packages/locust/main.py", line 70, in main
docstring, _user_classes, shape_class = load_locustfile(_locustfile)
File "/Users/evgen/venv/lib/python3.10/site-packages/locust/util/load_locustfile.py", line 58, in load_locustfile
imported = source.load_module()
File "<frozen importlib._bootstrap_external>", line 548, in _check_name_wrapper
File "<frozen importlib._bootstrap_external>", line 1063, in load_module
File "<frozen importlib._bootstrap_external>", line 888, in load_module
File "<frozen importlib._bootstrap>", line 290, in _load_module_shim
File "<frozen importlib._bootstrap>", line 719, in _load
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/Users/evgen/PycharmProjects/api-testing/amapitest/my_locustfiles/instr_performance.py", line 8, in <module>
from amapitest.src.helpers.jwt_generator import generate_json_web_token
ModuleNotFoundError: No module named 'amapitest.src.helpers'我的项目结构:
├── amapitest
│ ├── my_locustfiles
│ │ ├── __init__.py
│ │ └── instr_performance.py
│ ├── src
│ │ ├── configs
│ │ ├── dao
│ │ ├── helpers
│ │ └── utilities
│ ├── tests
│ └── tmp
├── amapitest.egg-info
├── build
├── dist
├── env.sh
├── requirements.txt
└── setup.py 附加信息:
蝗虫2.11.0
吡虫啉7.1.2
python 3.10
macOS蒙特里
发布于 2022-08-18 14:29:47
我通过将"my_locustfiles“文件夹移到项目的根目录并从这个目录运行测试来解决我的问题。
我仍然不明白为什么当蝗虫文件位于"amapitest“中时,无法找到导入的方法。
but...anyway,谢谢大家
发布于 2022-08-18 14:10:09
根据文档sys.path,当前目录由蝗虫自动添加到https://docs.locust.io/en/stable/writing-a-locustfile.html#how-to-structure-your-test-code中。
尝试转到父目录并运行
locust -f amapitest/my_locustfiles/instr_performance.py
发布于 2022-12-01 15:22:33
print(sys.path)以查看帮助Python查找模块的路径.如果找到路径,则为
__init__.py文件以将文件夹转换为模块。在amapitest文件夹执行蝗虫
如果您希望在子文件夹中执行locust,而未找到的模块仍在发生,请尝试步骤3。
instr_performance.py,中的
您将看到'/Users/user/SomeFolder/amapitest/my_locustfiles/..'时print(sys.path),我认为这个解决方案可能有助于
https://stackoverflow.com/questions/73375591
复制相似问题