python api testing接口自动发邮件
来源:互联网 发布:河池市网络问政平台 编辑:程序博客网 时间:2024/04/28 03:55
# -*- coding: utf-8 -*-
import requests,datetime,time,types,hashlib
import murl,json
import smtplib
from email.mime.text import MIMEText
from email.header import Header
def result(testcase_autono,auto_result,varchar_log,auto_remark):
try:
autotest_version = str(str(datetime.date.today()) + "_" + str(datetime.datetime.today().hour))
r = requests.post(murl.ResultUrl + '/autoresult/add',data={'project_name':'foscloud',\
'autotest_version':autotest_version,\
'testcase_autono':testcase_autono,\
'auto_result':auto_result,\
'varchar_log':varchar_log,\
'jpg_url':'',\
'its_bug':'',\
'code_version':'',\
'auto_remark':auto_remark,\
})
if '"errorcode":''' in r.text:
return True
else:
return False
except Exception,e:
return False
def dateToTime(date):
return str(int(time.mktime(time.strptime(date,'%Y%m%d'))))
def dateAddOne(str, addDay = 1):
try:
date = datetime.datetime.strptime(str,'%Y-%m-%d')
except:
date = datetime.datetime.strptime(str,'%Y%m%d')
date = date + datetime.timedelta(days = 1)
return date.strftime('%Y%m%d')
def md5(str):
m = hashlib.md5()
m.update(str)
return m.hexdigest()
def getResult():
try:
autotest_version = str(str(datetime.date.today()))
r = requests.get(murl.ResultUrl +'/autoresult/foscloud?project_name=foscloud&autotest_version=%s' % (autotest_version))
return r.text
except:
return False
def strBodyEmail(strResult):
# HtmlStr =
str = ''
PassCount = 0
FailCount = 0
WainCount = 0
try:
# if 1:
jsonResult = json.loads(strResult)
for data in jsonResult:
autotest_version = data['autotest_version']
autotest_autono = data['autotest_autono']
auto_result = data['auto_result']
auto_remark = data['auto_remark']
if 'Pass' in auto_result:
PassCount = PassCount + 1
color = '#00FF00'
elif 'Fail' in auto_result:
FailCount = FailCount + 1
color = '#FF0000'
else:
WainCount = WainCount + 1
color = '#FFFF00'
varchar_log = json.dumps(data['varchar_log'])
if len(varchar_log) > 100:
varchar_log = varchar_log[0:100]
title ='<tr bgcolor="#F88E80">' \
'<td ><b>%s</b></td>' \
'<td ><b>%s</b></td>' \
'<td ><b>%s</b></td>' \
'<td ><b>%s</b></td></tr>' %('date','api','result','use time(s)')
# if 'Fail' in auto_result:
strTR ='<tr bgcolor="#D3D3D3">' \
'<td >%s</td>' \
'<td ><b>%s</b></td>' \
'<td bgcolor="%s">%s</td>' \
'<td >%s</td></tr>' \
'<tr bgcolor="#D3D3D3"><td bgcolor="#F88E80"><b>response</b></td><td colspan="3">%s</td></tr>' % \
(autotest_version,autotest_autono,color,auto_result,auto_remark,varchar_log)
str = str + strTR
sendEmailBodyStr = """<html><body><table cellpadding="0" width="800" border="1" cellspacing="0" style="table-layout:fixed; word-break:break-all; word-wrap:break-all;"><tbody>%s%s</tbody></body></html>""" % \
( title,str)
# print sendEmailBodyStr
return {"total":{'PassCount':PassCount,'FailCount':FailCount,'WainCount':WainCount},'html':sendEmailBodyStr}
# return sendEmailBodyStr
except:
return False
def sendEmail():
mailto_list=murl.mailto_list #
# mail_host = ""
# mail_user = ""
#
# mail_pass=""
# mail_postfix="" #发件箱的后缀
mail_host = ""
mail_user = ""
mail_pass=""
mail_postfix="" #发件箱的后缀
body = strBodyEmail(getResult())
if body:
mail_body = body['html']
mail_title=unicode(" test result %s %s" % (datetime.datetime.now(), body['total']))
me="foscam test team"+"<%s>" % (mail_user)
msg = MIMEText(mail_body, _subtype='html', _charset='utf-8')
msg['Subject'] = mail_title #设置主题
msg['From'] = me
msg['To'] = ";".join(mailto_list)
try:
s = smtplib.SMTP()
s.connect(mail_host) #连接smtp服务器
s.login(mail_user,mail_pass) #登陆服务器
s.sendmail(me, mailto_list, msg.as_string()) #发送邮件
s.close()
return True
except Exception, e:
print str(e)
import requests,datetime,time,types,hashlib
import murl,json
import smtplib
from email.mime.text import MIMEText
from email.header import Header
def result(testcase_autono,auto_result,varchar_log,auto_remark):
try:
autotest_version = str(str(datetime.date.today()) + "_" + str(datetime.datetime.today().hour))
r = requests.post(murl.ResultUrl + '/autoresult/add',data={'project_name':'foscloud',\
'autotest_version':autotest_version,\
'testcase_autono':testcase_autono,\
'auto_result':auto_result,\
'varchar_log':varchar_log,\
'jpg_url':'',\
'its_bug':'',\
'code_version':'',\
'auto_remark':auto_remark,\
})
if '"errorcode":''' in r.text:
return True
else:
return False
except Exception,e:
return False
def dateToTime(date):
return str(int(time.mktime(time.strptime(date,'%Y%m%d'))))
def dateAddOne(str, addDay = 1):
try:
date = datetime.datetime.strptime(str,'%Y-%m-%d')
except:
date = datetime.datetime.strptime(str,'%Y%m%d')
date = date + datetime.timedelta(days = 1)
return date.strftime('%Y%m%d')
def md5(str):
m = hashlib.md5()
m.update(str)
return m.hexdigest()
def getResult():
try:
autotest_version = str(str(datetime.date.today()))
r = requests.get(murl.ResultUrl +'/autoresult/foscloud?project_name=foscloud&autotest_version=%s' % (autotest_version))
return r.text
except:
return False
def strBodyEmail(strResult):
# HtmlStr =
str = ''
PassCount = 0
FailCount = 0
WainCount = 0
try:
# if 1:
jsonResult = json.loads(strResult)
for data in jsonResult:
autotest_version = data['autotest_version']
autotest_autono = data['autotest_autono']
auto_result = data['auto_result']
auto_remark = data['auto_remark']
if 'Pass' in auto_result:
PassCount = PassCount + 1
color = '#00FF00'
elif 'Fail' in auto_result:
FailCount = FailCount + 1
color = '#FF0000'
else:
WainCount = WainCount + 1
color = '#FFFF00'
varchar_log = json.dumps(data['varchar_log'])
if len(varchar_log) > 100:
varchar_log = varchar_log[0:100]
title ='<tr bgcolor="#F88E80">' \
'<td ><b>%s</b></td>' \
'<td ><b>%s</b></td>' \
'<td ><b>%s</b></td>' \
'<td ><b>%s</b></td></tr>' %('date','api','result','use time(s)')
# if 'Fail' in auto_result:
strTR ='<tr bgcolor="#D3D3D3">' \
'<td >%s</td>' \
'<td ><b>%s</b></td>' \
'<td bgcolor="%s">%s</td>' \
'<td >%s</td></tr>' \
'<tr bgcolor="#D3D3D3"><td bgcolor="#F88E80"><b>response</b></td><td colspan="3">%s</td></tr>' % \
(autotest_version,autotest_autono,color,auto_result,auto_remark,varchar_log)
str = str + strTR
sendEmailBodyStr = """<html><body><table cellpadding="0" width="800" border="1" cellspacing="0" style="table-layout:fixed; word-break:break-all; word-wrap:break-all;"><tbody>%s%s</tbody></body></html>""" % \
( title,str)
# print sendEmailBodyStr
return {"total":{'PassCount':PassCount,'FailCount':FailCount,'WainCount':WainCount},'html':sendEmailBodyStr}
# return sendEmailBodyStr
except:
return False
def sendEmail():
mailto_list=murl.mailto_list #
# mail_host = ""
# mail_user = ""
#
# mail_pass=""
# mail_postfix="" #发件箱的后缀
mail_host = ""
mail_user = ""
mail_pass=""
mail_postfix="" #发件箱的后缀
body = strBodyEmail(getResult())
if body:
mail_body = body['html']
mail_title=unicode(" test result %s %s" % (datetime.datetime.now(), body['total']))
me="foscam test team"+"<%s>" % (mail_user)
msg = MIMEText(mail_body, _subtype='html', _charset='utf-8')
msg['Subject'] = mail_title #设置主题
msg['From'] = me
msg['To'] = ";".join(mailto_list)
try:
s = smtplib.SMTP()
s.connect(mail_host) #连接smtp服务器
s.login(mail_user,mail_pass) #登陆服务器
s.sendmail(me, mailto_list, msg.as_string()) #发送邮件
s.close()
return True
except Exception, e:
print str(e)
return False
生成后大概长这个样子
0 0
- python api testing接口自动发邮件
- Python自动发邮件
- Python-自动发邮件 一
- Python-自动发邮件 二
- python 自动发qq邮件
- python自动监控日志,发邮件通知
- JavaMail API发邮件
- C#自动发邮件
- perl 自动发邮件
- linux自动发邮件
- 自动发邮件脚本
- python unittest自动化测试,生成测试报告,自动发邮件
- python 发邮件
- Python 发邮件
- python发邮件
- Python发邮件
- python发邮件实例
- python 发邮件
- elasticsearch es分布式集群初探
- ScrollView嵌套ListView冲突问题的最优解决方案
- Swizzle运行时
- 输入子系统
- Android同一个TevtView显示不同颜色的文字,添加不同的点击事件。
- python api testing接口自动发邮件
- fork()函数详解
- 在代码中改变GridLayout的子控件的位置
- hash算法 (hashmap 实现原理)
- git学习之二:文件控制基础
- 《C专家编程》:最庞大的实体类型-Bug(二)
- Python时间函数与常用格式化
- 使用Java调用ElasticSearch提供的相关API进行数据搜索完整实例演示
- java学习笔记5.21(数组)