Hi Bryan,
I believe the problem is that selenium and the django testing framework
are looking up different databases. To run selenium, you would be
starting the actual server
One solution is to use 'manage.py testserver <jsonfixture>' for running
the selenium tests. This will ensure that the data is populated into the
testserver, and will be deleted once the server is stopped
On 7/2/2012 11:17 AM, Bryan wrote:
I'm still stuck regarding how to delete a user from the database directly.
On Tuesday, June 26, 2012 9:59:09 AM UTC-4, Bryan wrote:
I am creating Selenium tests for my App.
I can create a new user, but I can't seem to figure out how to
have it deleted from the database.
After the tests run successfully the first time, subsequent tests
fail because the username already exists.
**Why am I not able to query the newly created record in the
debugger despite being able to see the new record on the page?**
**How do I delete a record from the database in a test?**
This is what I have been doing:
from selenium import webdriver
from django.utils import unittest
from forum.models import Question, Answer, User
class TestOSQAAuthentication(unittest.TestCase):
scheme = 'http'
host = 'localhost'
port = '4444'
def setUp(self):
self._driver = webdriver.Firefox()
self._driver.implicitly_wait(25)
def test_anon_can_create_new_account_manually(self):
self._driver.get('http://localhost:8000/account/local/register/
<http://localhost:8000/account/local/register/>')
self._driver.find_element_by_id('id_username').send_keys('MrManual')
self._driver.find_element_by_id('id_email').send_keys('t...@gmail.com
<mailto:t...@gmail.com>')
self._driver.find_element_by_id('id_password1').send_keys('test')
self._driver.find_element_by_id('id_password2').send_keys('test')
self._driver.find_element_by_id('bnewaccount').click()
# verify MrManual was created
self._driver.get('http://localhost:8000/users/
<http://localhost:8000/users/>')
self._driver.find_element_by_link_text('MrManual')
# MrManual seems to be created, but I don't see
MrManual in the database during debugging with:
# import ipdb; ipdb.set_trace()
#ipdb> User.objects.all()
#[<User: Bryan>, <User: Kallie>, <User: Stalin>]
# here I am trying to delete the user from the
database directly.
User.objects.filter(username="MrManual").delete()
"""For some reason I can't delete the record from the
database from the test.
Selenium can find the new user in the browser, but I
can't query the database to find it."""
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/django-users/-/_swPDw1iq-0J.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.