Тестирование содержимого флеш-сообщения в Python - PullRequest
1 голос
/ 30 марта 2019

Я хотел бы проверить, содержит ли флэш-сообщение определенный текст.Итак, у меня есть строка:

response = tester.post('login',
        data=dict(
        username='test', password='lol'), follow_redirects=True)
assert 'Welcome back!' in response.data

Это, однако, не с сообщением об ошибке:

 assert 'Welcome back!' in response.data
 TypeError: a bytes-like object is required, not 'str'

Кто-нибудь понимает, что я делаю неправильно?

1 Ответ

0 голосов
/ 30 марта 2019

Как подсказал @MichaelButscher, вы можете сделать:

assert b'Welcome back!' in response.data

Это потому что ваш response.data имеет тип <class 'bytes'>. Итак, вы должны соответствовать вашему «Добро пожаловать!» строка в байтах.

В вашем случае вы можете исправить свой код следующим образом:

response = tester.post('login',
        data=dict(
        username='test', password='lol'), follow_redirects=True)
try:
    assert 'Welcome back!' in response.data
except AssertionError:
    print("Assertion failed!")

Так, например, response.data = b"xxxxWelcome back!xxxx", тогда это соответствует ему, иначе нет.

Убедитесь, что ваша строка точно совпадает с вашим вводом (или строкой, которая должна быть подтверждена), а также убедитесь, что чувствительность к регистру также имеет значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...