微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python Usign Selenium 的明显错误:PosixPath 问题

如何解决Python Usign Selenium 的明显错误:PosixPath 问题

晚上好, 我已经开始了一个 django 项目,使用 python 3.7 和 Django 3.1.5 当我启动我的单一测试时,它们运行得很好。 运行 selenium 时,这就是我得到的:

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/wsgiref/handlers.py",line 137,in run
    self.result = application(self.environ,self.start_response)
  File "/Users/fabricejaouen/Documents/OC_Parcours_Python/advocacy_project/venv/lib/python3.7/site-packages/django/test/testcases.py",line 1322,in __call__
    return super().__call__(environ,start_response)
  File "/Users/fabricejaouen/Documents/OC_Parcours_Python/advocacy_project/venv/lib/python3.7/site-packages/django/core/handlers/wsgi.py",line 133,in __call__
    response = self.get_response(request)
  File "/Users/fabricejaouen/Documents/OC_Parcours_Python/advocacy_project/venv/lib/python3.7/site-packages/django/test/testcases.py",line 1305,in get_response
    return self.serve(request)
  File "/Users/fabricejaouen/Documents/OC_Parcours_Python/advocacy_project/venv/lib/python3.7/site-packages/django/test/testcases.py",line 1317,in serve
    return serve(request,final_rel_path,document_root=self.get_base_dir())
  File "/Users/fabricejaouen/Documents/OC_Parcours_Python/advocacy_project/venv/lib/python3.7/site-packages/django/views/static.py",line 36,in serve
    fullpath = Path(safe_join(document_root,path))
  File "/Users/fabricejaouen/Documents/OC_Parcours_Python/advocacy_project/venv/lib/python3.7/site-packages/django/utils/_os.py",line 17,in safe_join
    final_path = abspath(join(base,*paths))
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/posixpath.py",line 80,in join
    a = os.fspath(a)
TypeError: expected str,bytes or os.pathLike object,not nonetype

奇怪的部分是:

  • 没有引发与我的项目相关的错误
  • Selenium 测试完美通过,这是我的 Selenium 设置:
from django.test import LiveServerTestCase
from selenium.webdriver.support.ui import webdriverwait
from selenium.webdriver import Firefox
import os
class CustomUserTest(LiveServerTestCase):
    fixtures = ['users.json']

    @classmethod
    def setUpClass(cls):
        super().setUpClass()
        cls.browser = Firefox()
        cls.browser.implicitly_wait(10)

    @classmethod
    def tearDownClass(cls):
        cls.browser.quit()
        super().tearDownClass()

    def test_plaid_10_authenticate_on_the_website(self):
        """
            The user wants to authenticate in order to have access to
            the functionalities of the website
        """
        self.browser.get(os.path.join(self.live_server_url,''))

因此,我可以继续我的项目,但是,这个令人费解的问题困扰着我。 如果你们中的任何人有提示,我会非常高兴。 亲切的问候。

解决方法

这就是重点。添加:

STATIC_ROOT = os.path.join(BASE_DIR,'static')

我的设置解决了这个问题。 谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。