El informe de atractivo agrega información del entorno e información del ejecutor.

        En la automatización diaria, cuando ejecutamos la prueba automatizada localmente y abrimos el informe de atracción, encontramos que la información del entorno y la información del corredor en la página de inicio están vacías, como se muestra en la siguiente figura:

¿por qué? ¿Por qué esto es tan?

        La razón es que antes de ejecutar el comando allure generate, el directorio de resultados de allure generado automáticamente por el sistema carece de estos dos archivos de información, por lo que podemos generar estos dos archivos manualmente y colocarlos en el directorio de resultados de allure antes de ejecutar el comando allure generate. De esta manera, el informe html generado al ejecutar el comando allure generate mostrará la información de estos dos módulos. Sin más preámbulos, vayamos directo al código:

def set_report_env_on_results():
    """
    在allure-results报告的目录下生成一个写入了环境信息的文件:environment.properties(注意:不能放置中文,否则会出现乱码)
    @return:
    """
    # 需要写入的环境信息
    allure_env = {
        'OperatingEnvironment': 测试环境,
        'BaseUrl': www.test1,com,
        'PythonVersion': platform.python_version(),
        'Platform': platform.platform(),
        'PytestVersion': pytest.__version__,
    }
    allure_env_file = os.path.join({你的自动生成allure result报告目录}, 'environment.properties')
    with open(allure_env_file, 'w', encoding='utf-8') as f:
        for _k, _v in allure_env.items():
            f.write(f'{_k}={_v}\n')



def set_report_executer_on_results():
    """
    在allure-results报告的目录下生成一个写入了执行人的文件:executor.json
    @return:
    """
    # 需要写入的环境信息
    allure_executor = {
        "name": "张三",
        "type": "jenkins",
        "url": "http://helloqa.com",  # allure报告的地址
        "buildOrder": 3,
        "buildName": "allure-report_deploy#1",
        "buildUrl": "http://helloqa.com#1",
        "reportUrl": "http://helloqa.com#1/AllureReport",
        "reportName": "张三 Allure Report"
    }
    allure_env_file = os.path.join({你的自动生成allure result报告目录}, 'executor.json')
    with open(allure_env_file, 'w', encoding='utf-8') as f:
        f.write(str(json.dumps(allure_executor, ensure_ascii=False, indent=4)))

usar:

Después de ejecutar la automatización de pytest y antes de generar el informe atractivo, llame a estos dos métodos

pytest.main([
        '-vs', 
        'testCase/',  
        '--alluredir', 'allure_results', '--clean-alluredir'
    ])

# 在allure_results目录下创建environment.properties文件
AllureReportBeautiful.set_report_env_on_results()

# 在allure_results目录下创建executor.json文件
AllureReportBeautiful.set_report_executer_on_results()

# 使用allure generate -o 命令将./allure_results目录下的临时报告生成到allure_report目录下变成html报告
os.system(f'allure generate allure_results -o allure_report --clean')

Después de ejecutar, verifique el informe nuevamente y la información del entorno y la información del ejecutor se podrán mostrar normalmente, como se muestra a continuación:

Supongo que te gusta

Origin blog.csdn.net/weixin_65784341/article/details/133361264
Recomendado
Clasificación