0


“ModuleNotFoundError: No module named ‘selenium‘”报错如何解决

接上节:测试平台开发之测试框架改造并发执行及结果隔离(1)
上节博客的末尾提到:在命令窗口执行python main.py
可是执行的时候遇到了如下报错:

  1. ============================================================================ ERRORS ============================================================================
  2. _____________________________________________________________ ERROR collecting tests/test_case.py ______________________________________________________________
  3. ImportError while importing test module 'D:\cekai\xuexi\Tesla\fullstack_framework\tests\test_case.py'.
  4. Hint: make sure your test modules/packages have valid Python names.
  5. Traceback:..\.venv\Lib\site-packages\_pytest\python.py:487:in importtestmodule
  6. mod = import_path(..\.venv\Lib\site-packages\_pytest\pathlib.py:591:in import_path
  7. importlib.import_module(module_name)
  8. D:\python\Lib\importlib\__init__.py:90:in import_module
  9. return _bootstrap._gcd_import(name[level:], package, level)<frozen importlib._bootstrap>:1387:in _gcd_import
  10. ???
  11. <frozen importlib._bootstrap>:1360:in _find_and_load
  12. ???
  13. <frozen importlib._bootstrap>:1331:in _find_and_load_unlocked
  14. ???
  15. <frozen importlib._bootstrap>:935:in _load_unlocked
  16. ???
  17. ..\.venv\Lib\site-packages\_pytest\assertion\rewrite.py:178:in exec_module
  18. exec(co, module.__dict__)
  19. tests\test_case.py:10:in<module>from commons.case_util import load_case, run_case
  20. commons\case_util.py:12:in<module>from commons import settings
  21. commons\settings.py:7:in<module>from selenium.webdriver.common.by import By
  22. E ModuleNotFoundError: No module named 'selenium'======================================================================= warnings summary =======================================================================..\.venv\Lib\site-packages\_pytest\config\__init__.py:1448
  23. D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\_pytest\config\__init__.py:1448: PytestConfigWarning: Unknown config option: result_log_verbose
  24. self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")..\.venv\Lib\site-packages\_pytest\config\__init__.py:1448
  25. D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\_pytest\config\__init__.py:1448: PytestConfigWarning: Unknown config option: xlsx_meta_column_name
  26. self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
  27. =================================================================== short test summary info ====================================================================
  28. ERROR tests/test_case.py
  29. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted:1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  30. =================================================================2 warnings,1 error in0.48s ================================================================='allure' 不是内部或外部命令,也不是可运行的程序
  31. 或批处理文件。

在这里插入图片描述
那么针对这个报错,要如何解决呢?

1. 模块导入错误

报错信息显示 selenium 模块未找到。你需要确保 selenium 安装在你的虚拟环境中。你可以通过以下步骤来解决:

激活你的虚拟环境(假设你的虚拟环境路径是 D:\cekai\xuexi\Tesla.venv):

  1. D:\cekai\xuexi\Tesla\.venv\Scripts\activate

在这里插入图片描述

2、安装 selenium 模块:

  1. pip install selenium

在这里插入图片描述
如果继续遇到报错:

  1. ERROR: Exception:
  2. Traceback (most recent call last):
  3. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_vendor\urllib3\response.py", line 438,in _error_catcher
  4. yield
  5. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_vendor\urllib3\response.py", line 561,in read
  6. data = self._fp_read(amt)ifnot fp_closed elseb""^^^^^^^^^^^^^^^^^^
  7. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_vendor\urllib3\response.py", line 527,in _fp_read
  8. return self._fp.read(amt)if amt isnotNoneelse self._fp.read()^^^^^^^^^^^^^^^^^^
  9. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py", line 98,in read
  10. data:bytes= self.__fp.read(amt)^^^^^^^^^^^^^^^^^^^
  11. File "D:\python\Lib\http\client.py", line 479,in read
  12. s = self.fp.read(amt)^^^^^^^^^^^^^^^^^
  13. File "D:\python\Lib\socket.py", line 707,in readinto
  14. return self._sock.recv_into(b)^^^^^^^^^^^^^^^^^^^^^^^
  15. File "D:\python\Lib\ssl.py", line 1253,in recv_into
  16. return self.read(nbytes,buffer)^^^^^^^^^^^^^^^^^^^^^^^^^
  17. File "D:\python\Lib\ssl.py", line 1105,in read
  18. return self._sslobj.read(len,buffer)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  19. TimeoutError: The read operation timed out
  20. During handling of the above exception, another exception occurred:
  21. Traceback (most recent call last):
  22. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_internal\cli\base_command.py", line 180,in exc_logging_wrapper
  23. ^^^^^^^^^^^^^^^
  24. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_internal\cli\req_command.py", line 245,in wrapper
  25. return func(self, options, args)^^^^^^^^^^^^^^^^^^^^^^^^^
  26. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_internal\commands\install.py", line 377,in run
  27. requirement_set = resolver.resolve(^^^^^^^^^^^^^^^^^
  28. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 179,in resolve
  29. self.factory.preparer.prepare_linked_requirements_more(reqs)
  30. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_internal\operations\prepare.py", line 552,in prepare_linked_requirements_more
  31. self._complete_partial_requirements(
  32. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_internal\operations\prepare.py", line 467,in _complete_partial_requirements
  33. for link,(filepath, _)in batch_download:
  34. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_internal\network\download.py", line 183,in __call__
  35. for chunk in chunks:
  36. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_internal\cli\progress_bars.py", line 53,in _rich_progress_bar
  37. for chunk in iterable:
  38. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_internal\network\utils.py", line 63,in response_chunks
  39. for chunk in response.raw.stream(
  40. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_vendor\urllib3\response.py", line 622,in stream
  41. data = self.read(amt=amt, decode_content=decode_content)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  42. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_vendor\urllib3\response.py", line 560,in read
  43. with self._error_catcher():
  44. File "D:\python\Lib\contextlib.py", line 158,in __exit__
  45. self.gen.throw(value)
  46. File "D:\cekai\xuexi\Tesla\.venv\Lib\site-packages\pip\_vendor\urllib3\response.py", line 443,in _error_catcher
  47. raise ReadTimeoutError(self._pool,None,"Read timed out.")
  48. pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

两种方式解决:

1、使用国内的 PyPI 镜像源
  1. pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
2、设置超时
  1. pip install selenium --timeout=120

3、验证 selenium 是否安装成功:

  1. pip list

4、未知的配置选项警告

在 pytest.ini 文件中有两个未知的配置选项:result_log_verbose 和 xlsx_meta_column_name。这些选项不是 pytest 的标准配置选项,可能是由某些插件或自定义逻辑添加的。你可以通过以下步骤来解决:
1、检查 pytest.ini 文件:
打开 pytest.ini 文件并确认是否有以下内容:
在这里插入图片描述

5、allure 命令找不到

安装 allure 命令行工具:
你可以从 Allure2 官方 GitHub 下载适用于你系统的版本。
下载并解压后,将 bin 目录添加到系统的 PATH 环境变量中。

6、再次执行用例

  1. python main.py

可以看到用例运行成功
在这里插入图片描述


本文转载自: https://blog.csdn.net/weixin_45754647/article/details/138878025
版权归原作者 兰若姐姐 所有, 如有侵权,请联系我们删除。

““ModuleNotFoundError: No module named ‘selenium‘”报错如何解决”的评论:

还没有评论