Как выполнить повторную проверку и повторное тестирование в сценарии тестирования

У меня есть этот тестовый скрипт для загрузки файла

    with open('_material/content.xlsx','rb') as fp:
        response = self.client.login(username="user@example.com", password="qwpo1209")

        response = self.client.post('/cms/content/up',
        {'name': 'test', 'content_file': fp,"is_all":"True"})
    
        self.assertEqual(response.status_code,302) # it shows ok
        
        #then next, how can I follow the redirect and test the page??
        self.assertContains(response, "success!")

Он возвращает перенаправление 302, но я хочу проследить за перенаправлением и проверить нект.

Потому что приходит сообщение типа success!

Возможно ли это?

Вы можете использовать follow=True, чтобы следовать за перенаправлением в .post(…) вызове [Django-doc], так:

response = self.client.post(
    '/cms/content/up',
    {'name': 'test', 'content_file': fp, 'is_all': 'True'},
    follow=True
)

как указано в документации:

Если вы установите follow в значение True, клиент будет следовать любым перенаправлениям, и в объекте ответа будет установлен атрибут redirect_chain, содержащий кортежи промежуточных адресов и кодов состояния.

Вернуться на верх