前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python接口自动化-Pytest-Html

Python接口自动化-Pytest-Html

作者头像
用户5521279
发布2020-05-25 19:06:04
1.1K0
发布2020-05-25 19:06:04
举报
文章被收录于专栏:搜狗测试搜狗测试

前言

小编在搭建组内接口自动化框架过程中使用过两个HTML报告框架,Pytest-HTML和Allure,本文主要介绍下Pytest-HTML。

Pytest-HTML是个插件,Pytest用于生成测试结果的HTML报告,兼容Python2.7和Python3.6。

Pytest-HTML介绍

  1. Github源码地址 https://github.com/pytest-dev/pytest-html
  2. pip安装

    pip install pytest-html

  3. 执行方法

    pytest --html=report.html 执行完后会在当前目录生成一个report.html的报告文件

  4. 指定报告路径 加入目标目录即可

    pytest --html=./report/html/report.html

  5. 报告独立展示 上面生成的报告,css是独立的,分享报告邮件的时候样式就会丢失,不好阅读,也无法筛选。

为了更好的展示测试报告,可以把css样式合并到HTML里。

pytest --html=report.html --self-contained-html

  1. 失败重试 失败重试依赖pytest-rerunfailures插件

    pip install pytest-rerunfailures 用例失败再重跑一次,需要再命令行加参数--reruns reruns参数有2个用法: --reruns=RERUNS RERUNS是失败重跑的次数,默认为0 --reruns-delay=RERUNS_DELAY RERUNS_DELAY是失败后间隔多少s重新执行。

    pytest --reruns 1 -html=report.html --self-contained-html

Pytest-HTML在接口框架中的使用

  1. Python SMTP发送邮件

    def SendMail(To, Title, mail_msg, From="test@sogou-inc.com", Cc=None): """ :param From: 发件人 :param To: 收件人 :param Cc: 抄送 :param Title: 邮件标题 :param mail_msg: 邮件内容(可以是html,或文本) :return: """ message = MIMEText(mail_msg, 'html', 'utf-8') message['From'] = Header(From, 'utf-8') message['To'] = Header("; ".join(To), 'utf-8') if Cc is not None: message['Cc'] = Header("; ".join(Cc), 'utf-8') message['Subject'] = Header(Title, 'utf-8') try: smtpObj = smtplib.SMTP() smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号 smtpObj.login(mail_user, mail_pass) smtpObj.sendmail(From, To, message.as_string()) print("邮件发送成功") except smtplib.SMTPException: print("Error: 无法发送邮件")

  2. Pytest-HTML执行、邮件发送

    # 利用pytest-html生成html报告 shell = Shell() cmd = 'pytest --reruns 1 --html=report/html/report.html --self-contained-html'

    # 邮件发送 try: file_name = html_report_path + '/' + 'report.html' f = open(file_name, 'rb') message = f.read() f.close() receiver = ["chenpeng01@sogou-inc.com"] cc = [""] ExSendEmail.SendMail(To=receiver, Title="【奇点广告】接口自动化测试报告", mail_msg=message, Cc=cc) except Exception as e: log.error('发送邮件失败,请检查邮件配置') raise

  3. 测试报告展示




本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档