python+selenium+unittest测试框架3-项目构建和发送邮件
项目构建和发送邮件
一、项目构建
1、建立项目chen
打开pycharm左上角File>New Project,在Location输入testing项目所在文件夹D:\chen,创建后选择Opin in current window。
2、创建子文件夹
PS:创建文件夹,一定要选Python Package的方式创建。
3、创建测试脚本
4、创建runalltest.py
PS:在runalltest.py这个脚本里面写主函数,控制执行所有的用例。
5、下载生成测试报告的源码
import HTMLTestRunner import unittest import os #测试用例存放路径 casepath = os.path.join(os.getcwd(),"case") #测试报告存放路径 reportpath = os.path.join(os.getcwd(),"report") def allcase():'''加载测试用例'''discover = unittest.defaultTestLoader.discover(casepath,pattern="case*.py",top_level_dir=None)return discover def runcase():'''执行测试用例,生成测试报告'''htmlreportpath = os.path.join(reportpath,"result.html")fp = open(htmlreportpath,"wb")runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=u"自动化测试报告",description=u"测试用例执行情况")# 调用allcase函数返回值 runner.run(allcase())fp.close()if __name__ == "__main__":runcase()
二、发送邮件
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipartdef send_mail(sender, psw, receiver, smtpserver,reportfile, port=465):'''发送最新的测试报告内容'''#打开测试报告with open(reportfile, "rb") as f:mail_body = f.read()# 定义邮件内容msg = MIMEMultipart()body = MIMEText(mail_body, _subtype='html', _charset='utf-8')msg['Subject'] = u"自动化测试报告"msg["from"] = sendermsg["to"] = receivermsg.attach(body)# 添加附件att = MIMEText(open(reportfile, "rb").read(), "base64", "utf-8")att["Content-Type"] = "application/octet-stream"att["Content-Disposition"] = 'attachment; filename= "report.html"'msg.attach(att)try:smtp = smtplib.SMTP_SSL(smtpserver, port)except:smtp = smtplib.SMTP()smtp.connect(smtpserver,port)# 用户名密码 smtp.login(sender, psw)smtp.sendmail(sender, receiver, msg.as_string())smtp.quit()if __name__ == '__main__':reportfile = u"F:\\python36\\test\\report\\result.html"#测试报告路径smtpserver = "smtp.qq.com" # 邮箱服务器sender = "139271007@qq.com" # 自己的账号psw = "password" #自己的密码receiver = "386421542@qq.com" #对方的账号send_mail(sender, psw, receiver, smtpserver,reportfile)
转载于:https://www.cnblogs.com/chen/p/8574239.html
python+selenium+unittest测试框架3-项目构建和发送邮件相关推荐
- python+selenium+unittest测试框架1-unittest单元测试框架和断言
unittest单元测试框架和断言 一.unittest单元测试框架简介 1.导入unittest模块 import unittest 2.定义测试类 class Login(unittest.Tes ...
- python+selenium+unittest自动化测试框架
前言 关于自动化测试的介绍,网上已有很多资料,这里不再赘述,UI自动化测试是自动化测试的一种,也是测试金字塔最上面的一层,selenium是应用于web的自动化测试工具,支持多平台.多浏览器.多语言来 ...
- Python单元测试unittest测试框架
本文的主题是自动化测试框架的实现,在实现之前,先了解一下关于unittest模块的相关知识: Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回 ...
- 第六章 第二节 selenium+unittest测试框架之批量执行测试用例
到目前为止,我们执行的用例都很少,将用例写在一个测试文件中就可以去运行.但对于有成百上千用例的实际项目,我们总不能把所有用例都写在一个文件中,那是不现实的,本节我们将进一步学习 TestSuite(测 ...
- 使用python构造大量测试数据_python实例编写(6)--引入unittest测试框架,构造测试集批量测试(以微信统一管理平台为例)...
---恢复内容开始--- 一.python单元测试实例介绍 unittest框架又叫PyUnit框架,是python的单元测试框架. 先介绍一个普通的单元测试(不用unittest框架)的实例: 首先 ...
- 基于Python的接口自动化unittest测试框架和ddt数据驱动详解
引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用 ...
- Python+Selenium WebUI自动化框架 -- 实现特殊PO模型
前言: 设计执行格式,封装PO模型工厂,实现PO模型脱离代码,一套代码执行所有项目的UI自动化,让UI自动化框架脱离高成本.低效率时代,将用例的重用性贯彻到极致,让烦人的PO模型变得无所谓,让一个测试 ...
- Python + Selenium + UnitTest自动化测试面试题目整理
1.如何使用Selenium进行自动化测试 ? 结合Python + Selenium + UnitTest 2.自动化测试框架 分层+PO模式: 包含基础封装层BasePage.PO页面对象层.Te ...
- 自动化测试unittest测试框架实例
本文采用unittest测试框架搭建一个简单的自动化测试实例,完成readmine网站的登录和新建项目用例,并生成测试报告. test_login文件 import unittest from sel ...
- UnitTest测试框架全栈详解
金字塔模型 从软件架构的⻆度来说,测试最重要的步骤是在软件开发的时候界入比较好,所以在早期测试的界入,从软件经济学的⻆度上来说,发现的问题解决成本低,投入的资源比较少.因此,对一个测试的系统,开始最佳 ...
最新文章
- 强烈推荐!最好用的《机器学习实用指南》第二版终于来了,代码已开源!
- 物联网第一台设备是烤面包机?
- 高斯消元法解方程matlab程序,用高斯消元法解线性方程组 的MATLAB程序
- 前端学习(1855)vue之电商管理系统电商系统之安装mysql出现VCRUNTIME140_1.dll
- 一步一步写算法(之排序二叉树的保存和加载)
- 关于在EF中通用方法
- 计算机网络工程税率多少,弱电工程增值税6%、9%、13%税率怎样选择?
- android 类似按键精灵脚本_脚本编辑器 -- 按键精灵 #Android
- Rhino(犀牛)室内模型导入Unity3d快速烘焙光影【2020】
- 【统计学】分类数据分析 相关分析 方差分析 比较 研究思路 spss
- DASH NET(网速控制,可变)
- 读《明朝那些事》有感
- Python 爬虫 目标:千图网VIP高清无水印下载即用
- EtherNET/IP协议基础知识(下)
- java fadein_原生JS实现 fadeIn / fadeOut 方法
- python图片合成
- VsCode使用及常用命令汇总(Win10)
- 外呼系统四大功能,助力企业进入智能电销时代
- 微信高级群发之二根据分组进行群发
- 云服务器能干什么用?云服务器使用场景列举
热门文章
- java jpa自身关联_java-如何通过JPA / Hibernate加入获取两个关联
- 设置角速度及生成四元数及利用刚体
- mysql视图可以完成的操作_MySQL视图操作
- python getopt使用_如何使用getopt.getoptpython中的方法?
- python处理二进制文件_python如何对文件进行二进制写操作
- VI.Multidocument Transactions
- 7.2 重入锁(ReentrantLock)
- 数字图像处理(四) 数字增强
- /usr/bin/ld: 找不到 -lglut
- 怎么样成为一个高手--有悟