t.me/atinfo_chat Telegram группа по автоматизации тестирования

Как показать номер строки где произошла ошибка?

Теги: #<Tag:0x00007f74871f3558> #<Tag:0x00007f74871f3468> #<Tag:0x00007f74871f3328>

Приветь всем!

Я собираю все свои ошибки в массив:
results = []
Потом этого я проверяю если ошибки нашлись:
if len(results) > 0:
values = “\n”.join(v for v in results)
print (values)
Как я могу найти в какой строке произошла ошибка? Или имя блока где произошла ошибка.

Собрать в массив ошибок уже с номером строки?

Ну я думаю что можно словить номер строки где произошла ошибка…

вопрос: а зачем ? может стоит взглянуть в сторону Soft Assert ?

Что бы знать на какую строку смотреть.
Я например получаю ошибку:
Cannot locate option with value: 24
Я не могу знать в какой строке этот параметр забит.

А список откуда это все узнает? Нужно значит явно указывать при добавлении ошибки в список.
result.append (‘string 25: Cannot locate option with value: 24’)

P.S
Зачем перебор списка в join ?

if len(results) > 0:
     values = "\n".join(v for v in results)
1 Симпатия

Я уже изменил на:

if len(results) > 0:
values = “\n”.join(results)

Хотел проверить одну вещь

окей… но я до сих пор не могу понять какую изначальную проблему пытается решить ТС :slight_smile:

Отловить ошибку с индикацией, где произошла ошибка

Посмотри в сторону либа - logging.

Почему не выводить стек трейс?

А как это можно написать в моем случаи?

https://docs.python.org/2/library/traceback.html