Selenium WD + Python. Скриншот в отчетах

Здравствуйте, уважаемое сообщество!
У меня следующий вопрос: есть несколько автоттестов. Если они находят ошибку, то делают скрин экрана. С этим всё ясно, но можно ли по средствам jenkins или как-то ещё организовать отправку их (скринов) на почту вместе с отчетами о не успешном прохождении тестов? Сами письма с отчетами из jenkins уходят, но представляют из себя лишь программные логи ошибок и пользователям не удобно анализировать где именно произошло падение.
Спасибо заранее за ответ!

Один из вариантов:
Поставить плагин Email Extension Plugin.
И в джобе настроить отправку определенных файлов - поле “Attachments”.

Can use wildcards like ‘module/dist/**/*.zip’. See the @includes of Ant fileset for the exact format. The base directory is the workspace.
FileSet Type - формат

Такой вариант, конечно, не плох, но ведь изначально эти вложения необходимо как-то генерировать? Нашел интересный случай для генерации, но почему-то в директории с кейсами не появляется нужный файл отчета:

if __name__ == '__main__':
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(ASeleniumLogin_1))
    # File
    dir = os.getcwd()
    dateTimeStamp = time.strftime('%Y%m%d_%H_%M_%S')
    buf = open(dir+"TestReport" + "_" + dateTimeStamp + ".html", 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=buf,
        title='Test the Report', 
        description='Result of tests' 
    )
    runner.run(suite)
    unittest.main()

Нашел ещё более просто пример для генерации отчетов:

import unittest
import xmlrunner

class TestFunctions(unittest.TestCase):
    def test_test1(self):
        pass

    def test_test2(self):
        pass

if __name__ == '__main__':
    unittest.main(testRunner=xmlrunner.XMLTestRunner(output='C:/PyTest/TestReport.html'))

Но опять сталкиваюсь с той же проблемой - в папке не появляется файл с отчетом. Помогите, пожалуйста, разобраться, в чем тут дело?

Вы написал в первом посте так:

Если они находят ошибку, то делают скрин экрана. С этим всё ясно, но можно ли по средствам jenkins или как-то ещё организовать отправку их (скринов) на почту вместе с отчетами о не успешном прохождении тестов?

Я логично сделал вывод, что со скринами и отчетами все ок, но осталось организовать отправку.
Пишите точнее, что вы хотите.

Вариант у вас должен быть таким:

  • генерите всегда отчет о прохождении теста (например, этой тулзой: HTMLTestRunner - tungwaiyip's software)
  • если билд падает, то высылайте об этом событии письмом, как это сделать - написал выше.

HTMLTestRunner не работает. Перепробовал всё, но в папке файл с отчетом после прохождения теста не появился

buf = open(dir+"TestReport" + "_" + dateTimeStamp + ".html", 'wb')

если заменить на

buf = open("TestReport.html", 'wb')

А вот это - убрать:

unittest.main()

Появится файл?

Нет, не появился. И такой вариант я тоже уже пробовал.

Это странно, так как:

buf = open("TestReport.html", 'wb')

уже должен был создать пустой файл.

Весьма. Есть 2 предположения:

  1. Я работаю не под админом. Может быть из-за этого программа и не может создать файл, т.к. у нее нет достаточно прав? (хотя, сам я файл создаю, так что может и это не верное предположение)
  2. Ранее в самом HTMLTestRunner.py была изменена строка: from io import StringIO, в соответствии с рекомендациями в этом комментарии к похожей проблеме. Теперь в самом теле HTMLTestRunner.py наблюдаются вот такие фрагменты:

Может корень проблемы в этом?

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

Проблема решилась путем частичного изменения файла HTMLTestRunner.py ввиду того, что я использую Python 3.5.1
Спасибо за советы и уделенное время!
Впредь, буду внимательнее! :slight_smile: