Я хочу писать тесты в Django, чтобы проверить, какой пользователь является simple user
, и который SuperUser
и наткнулся на этот код:Как писать тесты для простых пользователей и супер пользователей в Django
def test_login_user(self):
self.selenium.get('%s%s' % (self.live_server_url, '/login/'))
username_input = self.selenium.find_element_by_name("username")
username_input.send_keys('testuser')
password_input = self.selenium.find_element_by_name("password")
password_input.send_keys('testpass')
self.selenium.find_element_by_xpath('//button[@type="submit"]').click()
#password_input.send_keys(Keys.RETURN)
def test_login_staff(self):
self.selenium.get('%s%s' % (self.live_server_url, '/login/'))
username_input = self.selenium.find_element_by_name("username")
username_input.send_keys('testadmin')
password_input = self.selenium.find_element_by_name("password")
password_input.send_keys('testpass')
I код работает отлично в моем проекте, но мой вопрос заключается в том, как вы возвращаете False
здесь, когда мы вводим некоторые недопустимые учетные данные. В настоящее время, даже если я передаю неверное имя пользователя и пароль, он ничего не показывает.
My fixture : fixtures = [{"fields": {"username": "rakesh", "first_name": "", "last_name": "", "is_active": True, "is_superuser": True, "is_staff": True, "last_login": "2015-10-17T20:20:37.455Z", "groups": [], "user_permissions": [], "password": "pbkdf2_sha256$20000$1tGw8u4pGPxD$WmJVx9QDjFx0xZHq5vt/XgPXjYYvRn2tARyTzQ6RRYg=", "email": "[email protected]", "date_joined": "2015-10-06T19:02:04.044Z"}, "model": "auth.user", "pk": 1}]
Благодарю вас так много. Этот контент очень полезен :) – python
Я передаю правильные 'username' и' password' в моем test_login_staff, но он показывает 'Администрация Django Пожалуйста, введите правильное имя пользователя и пароль для учетной записи персонала. Учтите что оба поля могут быть чувствительны к регистру. Имя пользователя: Пароль: ' – python
да, то есть, как я уже упоминал, правильную ссылку для проверки для суперпользователя и администратора. Простое подключение через обычную страницу не отличает суперпользователей от обычных пользователей. Для этого вам нужно перейти на страницу входа в систему администратора. – e4c5