Как узнать, что конкретный тест не пройден в python selenium + testrail

У меня логическая проблема. У меня есть тестовый пакет с Selenium Python + TestRails. Когда тест не пройден, все последующие тесты также не пройдены (даже тесты, которые не пройдут). Я знаю причину, моя проблема - это решение найденное.

Я использую этот метод:

if self._resultForDoCleanups.failures:
        result_flag = False
elif self._resultForDoCleanups.errors:
        result_flag = False
else:
        result_flag = True

Результат ForDoCleanups.failures и ошибки хранят старые вещи из кодов, выполненных ранее. Я хочу знать, есть ли способ очистить эти экземпляры или другое решение.

Мой набор прост:

suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(excluirServico))
suite.addTest(unittest.makeSuite(exportarGravacoes))
unittest.TextTestRunner().run(suite)

Спасибо за помощь, ребята!

1 ответ

Насколько я понимаю, ваша проблема заключается в том, что вы хотите выполнить свои тесты таким образом, чтобы каждый тест показывался как отдельный Пройденный / Неудачный.

Я думаю, что вы хотите сделать что-то вроде:

runner = unittest.TextTestRunner()
suites_to_execute = (excluirServico, exportarGravacoes)
for suite_to_execute in suites_to_execute:
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(suite_to_execute))
    result = runner.run(suite)      
    # code to add the above individual result to testrail is to be called below

Обратите внимание, что makeSuite устарел, и вы должны использовать методы TestLoader(). LoadTestsFrom*.

Другие вопросы по тегам