selenium自动化测试之整合测试报告

标签(空格分隔): 整合报告


如下截图我们添加一个文件叫做:latest_report.py文件,

import time
import os
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import os
import unittest
from BSTestRunner import BSTestRunner
def send_email(latest_report):
f=open(latest_report,'rb')
mail_content = f.read()
f.close()
smtpserver = 'smtp.exmail.qq.com' user = '****@zhan.com'
#这里是邮箱的授权码
password = '****' sender = '****@zhan.com'
receiver = '****@qq.com' # 发送邮件的标题和内容
subject = 'web selenium 自动化测试报告'
content = '<html><h1 style = "color:red">测试报告2017</h1></html>' # 构建发送与接收信息
msgRoot = MIMEText(mail_content,'html','utf-8') msgRoot['subject'] = Header(subject,'utf-8')
#这里填写发送邮箱,和收件邮箱
msgRoot['from'] = sender
msgRoot['To'] = receiver # ssl 协议端口号要使用465 smtp = smtplib.SMTP_SSL(smtpserver, 465) # 向用户表示用户的身份 smtp.helo(smtpserver) # 服务器返回结果确认 smtp.ehlo(smtpserver) # 登录邮箱服务器用户名和密码
smtp.login(user, password)
print("发送邮件") smtp.sendmail(sender, receiver, msgRoot.as_string())
smtp.quit
print("邮件发送完成") def latest_report(report_dir):
# 如果不在同一个目录,要使用绝对路经,这里在同一个目录就使用相对路径了
lists = os.listdir(report_dir)
print(lists)
lists.sort(key=lambda fn: os.path.getatime(report_dir + "\\" + fn))
print("the lastest report is " + lists[-1])
file = os.path.join(report_dir, lists[-1])
print(file)
if __name__ == '__main__':
test_dir ='./test_case'
report_dir='./test_report'
discover =unittest.defaultTestLoader.discover(test_dir,pattern='test*.py')
now =time.strftime('%Y-%m-%d %H_%M_%S')
report_name=report_dir +'/'+now+'result.html'
with open(report_name,'wb')as f:
runner =BSTestRunner(stream=f,title='TestReport',description="baidu search")
f.close()
#获取最新的测试报告
latest_report=latest_report(report_dir)
#发送邮件报告
send_email(latest_report)

selenium自动化测试之整合测试报告的更多相关文章

  1. Selenium自动化测试之结果处理

    Selenium自动化测试之结果处理 一.断言 断言相当于性能测试中的检查点,常用断言种类很多,具体可以查看断言API:判断预期结果和实际结果是否一致,断言成功,程序继续处理,失败则终止运行,示例如下 ...

  2. Selenium自动化测试之数据驱动及用例管理

    Selenium自动化测试之数据驱动及用例管理 一.TestNg注解介绍 @Test:表示一个测试方法,在运行测试用例过程中,会自动运行@Test注解的方法. 例:

  3. Selenium自动化测试之基本控件使用

    Selenium自动化测试之基本控件使用 1.输入框input: 在Html中样式: <input id="username" type="text"&g ...

  4. Selenium自动化测试之启动浏览器

    Selenium自动化测试之启动浏览器 一.Eclipse新建java工程 1.新建java工程:File->New->Java Project,输入Project name:如AutoT ...

  5. Java接口自动化测试之TestNG测试报告ExtentReports的应用(三)

    pom.xml导入包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...

  6. python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍

    1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...

  7. Python&Selenium自动化测试之PO设计模式

    一.摘要 Page Object模式,后面简称PO,他是一种设计思想,在上一章节中,曾经列举了一些在编写自动化测试过程中随着代码量的增加导致的大量代码难以维护.难以扩展.可读性极差等灾难性的事件:那么 ...

  8. selenium自动化测试之--验证码处理

    由于登录反爬措施的越来越麻烦,甚至出现了12306这种看图识物的无敌验证码,我只能说,我选择死亡.这就衍生出了使用selenium来获取获取cookies. 因为经常会出现验证码,导致我们ui自动化测 ...

  9. Python+selenium自动化测试之浏览器基础操作

    **​​前言** 本文主要讲解webdriber框架,Selenium 就像真实用户所做的一样,Selenium 测试可以在 Windows.Linux 和 Macintosh上的 Internet ...

随机推荐

  1. Spring MVC 学习笔记11 —— 后端返回json格式数据

    Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...

  2. ios8.1.1系统怎么取消下划线

    http://zhidao.baidu.com/link?url=y-3oAiOsuCSvoCD-7H2Uvgl_UI1BQQuNvA2jHKCRAGmZSH7_RrwDijKtRouMBa5yF_L ...

  3. apache伪静态规则解析

    apache伪静态规则解析 最近有个客户有个要求,昨天折腾了一会,没解决,今天没啥就多学习学习 还是根据例子来学习比较快 1 简单的重定向规则 RewriteEngine On //启动规则 Rewr ...

  4. hive sql 语句执行顺序及执行计划

    hive 语句执行顺序 from... where.... select...group by... having ... order by... 执行计划 Map Operator Tree: Ta ...

  5. Redis位图实现用户签到功能

    场景需求 适用场景如签到送积分.签到领取奖励等,大致需求如下: 签到1天送1积分,连续签到2天送2积分,3天送3积分,3天以上均送3积分等. 如果连续签到中断,则重置计数,每月初重置计数. 当月签到满 ...

  6. 我的母校zbvc试做

    一.观察分析页面布局 可以从上至下分为6大部分 logo栏 menu菜单栏 slide幻灯片 news新闻区域 other其他 bottom底部 二.logo 分为三部分 ①左侧logo ②中间log ...

  7. APP-1-相关介绍及资料

    一年前研究了下MUI框架,也做了一些简单的功能,将整个过程整理下.. 1.Hbuilder官网 http://www.dcloud.io/ 2.MUI前端框架 http://www.dcloud.io ...

  8. leetcode题解 candy

    要求的条件是: 1.每个人最少一个糖果. 2.相邻的小朋友,要保证,评分高的比评分低的糖果多. 如果从一侧扫描的话,容易确定的就是递增序列,只要上升1个就够了. 容易出现问题的就是:遇到下降期,或者相 ...

  9. JAVA_连接池、DataSource、JNDI

    1.连接池    Connection的取得和开放是代价比较高的处理,解决这个问题的方法是连接池.    连接池就是事先取得一定数量的Connection,程序执行处理的时候不是新建Connectio ...

  10. Win7下npm命令Error: ENOENT问题解决

    Win7下在执行npm命令,比如npm list时出现下面错误: