随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
学习selenium自动化之前,最好先学习HTML、CSS、JavaScript等知识,有助于理解定位及操作元素的原理。关于python和selenium安装请自行搜索别的资料,这里就不多做介绍了,所有例子均使用python3.6+selenium执行的。
#------------------------------------------------我是可耻的分割线-------------------------------------------
自动发邮件功能
自动发邮件功能也是自动化测试项目的重要需求之一。例如,我们想在自动化脚本运行完成之后,邮箱就可以收到最新的测试报告结果。假设生成的测试报告与多人相关,每个人都去测试服务器查看就会比较麻烦,如果把这种主动的且不及时的查看变成被动且即使的查收,就方便多了。
SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于有源地址到目的地址传送邮件的规则,由它来控制新建的中转方式。
Python的smtplib模块提供了一种很方便的途径用来发送点击邮件。它对SMTP协议进行了简单的封装。我们可以使用SMTP对象的sendmail方法发送邮件,通过help()查看SMTP所提供的方法如下:
导入SMTP对象,通过help()查看对象的注释,从中找到sendmail()方法的使用说明。
connect(host,port)方法参数说明如下。
host:指定链接的邮箱服务器。
port:指定链接服务器的端口号。
login(user,password)方法参数说明如下。
user:登录邮箱用户用。
password:登录邮箱密码。
sendmail(from_addr,to_addrs,msg...)方法参数说明如下。
from_addr:邮件发送者地址。
to_addrs;字符串列表,邮件发送地址。
Msg:发送消息。
quit()方法:用于结束SMTP会话。
一般我们发邮件有两种方式。方式一:自己邮箱的Web页面(如mail.126.com),输入自己邮箱的用户名和密码登录,打开发邮件页面,填写对方的而邮箱地址及邮件标题与正文,完成后单击发送。方式二:下载安装邮箱客户端(如Outlook、Foxmail等),填写邮箱账号、密码及邮箱服务器(如smtp.126.com),一般的邮箱客户端会默认几下这些信息,所以,这个过程只需填写一次,后面发邮件的过程与方法一相同。
而我们通过Python的SMTP对象发邮件则更像方式二,因为需要填写邮箱服务器。
当然,在具体发邮件时会涉及诸多需要,例如,邮件正文的格式、是否带图片、邮件是否需要添加附件(及多附件)、邮件是否需要同时向多人发送等。
发送HTML格式的邮箱
新建send_mail.py文件
#!/usr/bin/env python#-*- coding: UTF-8 –*-
__author__ = 'Mr.Li'
importsmtplibfrom email.mime.text importMIMETextfrom email.header importHeader#发送邮箱服务器
smtpserver = 'smtp.qq.com'
#发送邮箱用户/密码
user = XXXXX@qq.com'password = 'XXXXX'
#发送邮箱
sender = XXXXX@qq.com'#接收邮箱
receiver = XXXXX@qq.com'#发送邮件主题
subject = 'Python email test'
#编写HTML类型邮件正文
msg = MIMEText('