繁体   English   中英

Pytest Selenium Allure 报告:报告同一测试中的多个失败

[英]Pytest Selenium Allure report : Report multiple failures inside a same test

我想要实现的目标:如果我必须验证同一页面中的多个元素,那么我想在同一测试下编写多个断言,而不是编写多个测试来打开浏览器并为每个断言一次又一次地导航到该页面。 这是否可行以及我们如何实现这一目标?

我正在使用但无法正常工作的解决方案 我正在使用魅力报告。 当我在这两种情况下都使用 assert False 或 pytest.fail 时,我的 allure 报告捕获了失败但测试用例停止并且进一步的断言或代码行未在该测试中执行。 当我使用 pytest_check 然后它没有通过测试但失败没有被捕获在诱惑报告中。 它只是以绿色显示步骤,以红色显示测试。

在此处输入图像描述

如果你从allure.step内部allure.step块失败将被标记为红色或黄色(取决于失败原因) >标志

with allure.step(description):
    do_something()

您可以使用自己的装饰器 (@soft_step) 而不是诱人的 (@step)。

def soft_step(step_title: str):
    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            try:
                with allure.step(step_title):
                    func(*args, **kwargs)
            except:
                allure.attach(browser.driver.get_screenshot_as_png(), 
                attachment_type=AttachmentType.PNG)
        return wrapper

    return decorator

注意:它不会使报告中的测试用例失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM