简体   繁体   中英

Selenium django error during migration

I am trying to use selenium for testing of my django application

After running the following command:

python3 manage.py test function_test(folder)

The following error came up:

*Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/django/db/backends/base/base.py", line 130, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.4/dist-packages/django/db/backends/base/base.py", line 122, in connect
    connection_created.send(sender=self.__class__, connection=self)
  File "/usr/local/lib/python3.4/dist-packages/django/dispatch/dispatcher.py", line 189, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/usr/local/lib/python3.4/dist-packages/django_hstore/apps.py", line 48, in __call__
    return [x(connection) for x in handlers]
  File "/usr/local/lib/python3.4/dist-packages/django_hstore/apps.py", line 48, in <listcomp>
    return [x(connection) for x in handlers]
  File "/usr/local/lib/python3.4/dist-packages/django_hstore/apps.py", line 76, in register_hstore_handler
    register_hstore(connection.connection, globally=HSTORE_REGISTER_GLOBALLY)
  File "/usr/local/lib/python3.4/dist-packages/psycopg2/extras.py", line 775, in register_hstore
    "hstore type not found in the database. "
psycopg2.ProgrammingError: hstore type not found in the database. please install it from your 'contrib/hstore.sql' fil*e

I have already installed hstore in my main project and im running the tests on a live_server_test_case , so it should not be creating a problem.

Is there a way i can skip migrations before running the selenium code as i have mentioned the creation of hstore type in the setup() function , but i am not able to reach the code.

When you run the tests, Django creates a test database. Using LiveServerTestCase means that there is a Django server that can be used by the tests (eg by Selenium), it doesn't mean that it uses the live database.

It sounds like you need to create a migration to install the HStoreExtension. The Django test runner will run the migration, preventing the error. See the docs or this question for more info.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM