• 自动化测试报告


    生成测试报告 allure 测试报告

    allure report:
    1、下载allure-commandline-2.21.0.zip,解压把allure-2.21.0放到D盘;配置环境变量;
    2、allure  --version  检查版本是否显示;

    3、安装allure-pytest pip install allure-pytest 测试报告中是有数据的,生成测试数据;(2.9.45)

    编写运行测试报告的代码:

    1. if __name__ == '__main__':
    2. # pytest.main(['-s','-v','-rA','test_case01.py'])
    3. pytest.main(['-s','test_case01.py','--clean-alluredir','D:\\idea_seleniumPro\\testpytest\\allure-result'])
    4. os.system('allure generate D:\\idea_seleniumPro\\testpytest\\allure-result -o D:\\idea_seleniumPro\\testpytest\\reposts' )

    生成报告样式:

    unittest 框架测试 HTMLTestRunner  生成测试报告:

    编写运行生成测试报告的代码

    1. #coding=utf-8
    2. import unittest
    3. import HTMLTestRunner
    4. if __name__ == '__main__':
    5. # # -004----------------执行unittest.TestSuite()
    6. # 指定测试用例的所在的目录路径,进行加载
    7. suite = unittest.TestSuite()
    8. loader = unittest.TestLoader()
    9. suite.addTest(loader.discover(start_dir=r"D:\idea_seleniumPro\unittest", pattern="test*.py"))
    10. html_file = "D:\\idea_seleniumPro\\Outputs\\reports\\reportSHTWEB.html"
    11. fp = open(html_file, "wb")
    12. HTMLTestRunner.HTMLTestRunner(fp,title="测试报告",description="点击系统项目测试内容:").run(suite)
    13. fp.close()
    14. #SendEmailReport().is_result_pass()

    生成报告样式:

    优化后自动化报告

    1.批量执行用例,输出邮件消息或群消息、报告、日志、截图;

    如何批量执行用例及用例执行完后需要数据处理?

    1. #coding=utf-8
    2. import allure
    3. import pytest,os
    4. from common.process_redis import Process
    5. from common.ding_talk import send_dingtalk_msg_markdown
    6. if __name__ == '__main__':
    7. pytest.main(['-s', 'D:\\code\\idea_selenium_clicksystem\\case', '--alluredir', 'D:/code/idea_selenium_clicksystem/Outputs/allure-result'])
    8. os.system('allure generate D:/code/idea_selenium_clicksystem/Outputs/allure-result -o D:/code/idea_selenium_clicksystem/Outputs/reports/allure-reports --clean')
    9. # 获取测试结果
    10. total, success, fail, _ = Process().get_result()
    11. failed_testcases_name = ",失败的用例为:"
    12. msg_str = f"测试通过{str(success)}个,失败{str(fail)}个"
    13. # 如果有失败的,就加上失败的用例名称
    14. if int(fail) > 0:
    15. msg_str += failed_testcases_name
    16. fail_testcase_names = Process().get_fail_testcase_names()
    17. for i in range(len(fail_testcase_names)):
    18. if i == len(fail_testcase_names) - 1:
    19. failed_testcases_name += fail_testcase_names[i]
    20. else:
    21. failed_testcases_name += fail_testcase_names[i] + ","
    22. msg_str += fail_testcase_names[i] + "\n"
    23. else:
    24. failed_testcases_name = ""
    25. # 插入测试结束时间
    26. Process().write_end_time()
    27. # 更改运行状态为0
    28. Process().modify_running_status(0)
    29. # 项目名称
    30. project_name = "click_system_autotest"
    31. # 报告标题
    32. report_title = "UI自动化测试-测试报告"
    33. # allure测试报告地址
    34. allure_url = "http://"
    35. webhook = "https://"
    36. send_dingtalk_msg_markdown(
    37. ding_webhook=webhook,
    38. allure_url=allure_url,
    39. total_count=total,
    40. success_count=success,
    41. fail_count=fail,
    42. failed_testcases_name=failed_testcases_name,
    43. report_title=report_title
    44. )

    报告中优化步骤:

    @allure.story('上传记录删除数据包功能')
    allure.dynamic.title(data['title'])
    allure.dynamic.description(data['description'])

  • 相关阅读:
    嵌入式Linux设备自动获取IP地址
    PostgreSQL11 | 初识PostgreSQL
    DDoS攻击和CC攻击
    扩散模型Diffusers Pipeline API使用介绍
    楼顶空地适合建造气膜体育馆吗?
    MySQL主从复制和读写分离
    HRB系列直流隔离可调电源模块:用20K电位器和200K电位器区别
    已解决module ‘keras.preprocessing.image‘ has no attribute ‘load_img‘
    远程办公时意外摔伤,算工伤吗?
    redis基于docker的集群部署
  • 原文地址:https://blog.csdn.net/jingzhaopan/article/details/124473131