'How I can save multiple screenshots when the test is fail

I use selenium with pytest to do some automation testing and I use a fixture to take a screenshot when it fails here is the code for the fixture:


    timestamp = datetime.now().strftime('%H-%M-%S')

    pytest_html = item.config.pluginmanager.getplugin('html')
    outcome = yield
    report = outcome.get_result()
    extra = getattr(report, 'extra', [])
    if report.when == 'call':
        # always add url to report
        # extra.append(pytest_html.extras.url('E:\Python Projects\StackField\screenshot'))
        xfail = hasattr(report, 'wasxfail')
        if (report.skipped and xfail) or (report.failed and not xfail):
            feature_request = item.funcargs["request"]
            driver = feature_request.getfixturevalue("setup")
            img_name = "name.png"
            img_path = os.path.join("E:\Python Projects\StackField\screenshot", img_name)
            driver.save_screenshot(img_path)
            # extra.append(pytest_html.extras.image('E:\Python Projects\StackField\screenshot' + timestamp + '.png'))

        if (report.skipped and xfail) or (report.failed and not xfail):
            # only add additional html on failure
            extra.append(pytest_html.extras.image(img_path))
            extra.append(pytest_html.extras.html('<div>Additional HTML</div>'))
        report.extra = extra

And I got an issue when more than 1 test is failed the same screenshot is added to the report my next question is how can I add more than 1 screenshot inside?

Thank you in advance!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source