• pytest 使用 allure 生成报告的一点小注意


    自项目成熟后,一直都是使用 BeautifulSoap 和 Allure 交替查看测试报告。每天查看那么多次,但对他们却是一知半解。

    11号闲来无事,找了一些小练习研究 Allure 的使用,在使用 Pytest 命令输出报告时,一直不得解,每个参数表示什么意思、allure 的数据如何生成、报告路径又是
    怎样定义的。

    在输出报告时,有两种方式:

    第一种方式

    $ pytest test_baidudemo.py -s -q  --alluredir=./result/  
    
    # 该命令表示执行 test_baidudemo.py 文件,-q:静默输出方式,,即简要输出信息;-s:显示调试或打印的内容; 最后将allure结果数据保存到指定目录
    
    $ allure serve ./result  
    
    Generating report to temp directory...
    Report successfully generated to C:******AppDataLocalTemp5370638618015012312allure-report
    Starting web server...
    2021-01-12 23:43:54.179:INFO::main: Logging initialized @4264ms to org.eclipse.jetty.util.log.StdErrLog
    Server started at <http://172.*.*.*:6313/>. Press <Ctrl+C> to exit
    
    # 打开allure报告时,需要打开allure服务,serve 生成在线报告,保存在默认的临时路径下。自动调用默认浏览器显示报告
    # 有可能会调用IE浏览器,无法显示,将地址复制后在谷歌中打开即可
    

    第二种方式

    $ pytest test_baidudemo.py -s -q  --alluredir=./result/
    
    # 生成结果数据,json 格式,保存到 result/ 文件中
    
    $ allure generate --clean ./result/  
    """
    将结果数据生成 html 报告,allure 会在当前目录检查是否有 allure-report 文件,
    没有的话会自动生成 allure-report 文件,并将报告内容保存在这个文件夹下面。--clean 参数,清除历史数据
    前面的 generate ./result/ ,generate 后面一定要跟保存结果数据的路径,allure 才能取到数据,正确的生成报告,否则报告中数据显示  NaN%
    
    或者使用命令  allure generate ./result/ -o ./report/ --clean   
    -o 参数是将报告内容保存到指定的文件夹下,此时 allure 不再保存到默认的目录下面
    注意: 若是使用了参数化方式,生成 allure 报告时,不能用管道符将前后的命令连接起来使用,容易发生错误。
    
    $ pytest test_baidudemo.py -s -q --alluredir=./result/ | allure generate ./result/ -o ./reports/ --clean
    # 此方式容易报错,比如,第一个用例执行完,命令就进入生成报告环节,但第二个用例尚未开始,此时系统会报错,导致执行失败。
    部分错误信息如下
    
    OSError: [Errno 22] Invalid argument
    Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='cp936'>
    OSError: [Errno 22] Invalid argument
    """
    

    所以比较好的执行方式是将命令拆开执行

    $ pytest test_baidudemo.py -s -q --alluredir=./result/ 
    $ allure generate ./result/ -o ./reports/ --clean
    
  • 相关阅读:
    CSS边框
    各大网站注册的用处(个人看法)
    20121011 外边距
    20120921碎碎念
    20121011 CSS一
    20120919碎碎念
    CSS 文本装饰属性
    外边距合并
    EverBox开发笔记1
    “Core Data”中的“dynamic implementation”
  • 原文地址:https://www.cnblogs.com/chenri/p/14270092.html
Copyright © 2020-2023  润新知