Pytest 报告生成后自动在浏览器中打开(python模糊寻找时间戳标题的文件,利用webbrowser在网页中打开相对路径下的本地文件)

  做了一个appium的项目,集成了Pytest-report后,在跑完了会生成一个报告,不过需要手动去找然后去打开,不够优雅,所以研究了一会实现了这个小需求

首先我们观察生成报告的位置,标题:

 标题是时间+自定义的文件名+html,经过测试,时间是跑完所有用例后的那个瞬间,不过秒数很难确定,所以只能模糊搜索了

 为了自动打开该文件,首先我们要找到这个文件,可以使用os库寻找这个文件夹中所有符合文件名的文件,分析文件名中的三个元素:

时间:直接使用datetime的函数取到然后按格式存在字符串里去(因为秒太难确定,所以直接舍弃秒这个元素,待会模糊查询分钟即可)

    now = datetime.datetime.now()
    time_loc = now.strftime("%Y-%m-%d_%H_%M")

文件名: 首先用os库打开目的文件夹,取到所有文件名,然后通过for循环找时间符合的文件,得到文件名,再用字符串加法把它拼成合法的路径,路径也是用os库的getcwd()方法取的,这样项目环境更换也不会报错

    path = './reports/'
    files = os.listdir(path)
    file_report = ''
    # 查找报告文件
    for f in files:
        if time_loc in f and f.endswith('.html'):
            print('Found it!' + f)
            file_report = os.getcwd() + '/reports/' + f

最后通过webbrowser打开文件:

webbrowser.open(file_report)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值