selenium自动化架构+自动发邮件
来源:互联网 发布:淘宝皓月岛 编辑:程序博客网 时间:2024/05/22 00:32
结构搭建如上:
test_case 放置待测试的py 公用文件放置在子目录public下
进行驱动全部测试文件all_tests.py放置在 test_case同一目录下
all_tests:
#!/usr/bin/env python#coding=utf-8import unittestimport time,os,datetimefrom test_case import start_baidute,start_youdao,start_webcloudimport HTMLTestRunnerimport smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.mime.image import MIMEImage#方法1# import sys# #把test_case 目录添加到path下,这里用的相对路径# sys.path.append("\test_case")# import all_tests_list## #将用例组装数组# alltestnames=all_tests_list.caselist()# #创建测试套件# testunit=unittest.TestSuite()# for test in alltestnames:# testunit.addTest(unittest.makeSuite(test))#方法2 创建测试用例# testunit.addTest(unittest.makeSuite(baidute.Baidu))# testunit.addTest(unittest.makeSuite(youdao.Youdao))# testunit.addTest(unittest.makeSuite(webcloud.Login))#runner=unittest.TextTestRunner()#runner.run(testunit)#方法3 用discover方法获得结构listaa="C:\\Users\\lww\\PycharmProjects\\study\\test_case"def createsuite(): testunit=unittest.TestSuite() discover=unittest.defaultTestLoader.discover(listaa, pattern='start_*.py', top_level_dir=None) for test_suite in discover: for test_case in test_suite: testunit.addTest(test_case) print(testunit) return testunitalltestnames=createsuite()#取当前时间now=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))#把当前时间加到报告中filename="E:\\abc\\report\\"+now+'result.html'fp=open(filename,'wb')runner=HTMLTestRunner.HTMLTestRunner( stream=fp, title=u'百度有道测试报告', description=u'用例执行情况:' )runner.run(alltestnames)
配合自动化发测试报告邮件,all_tessts.py代码如下:
#!/usr/bin/env python#coding=utf-8import unittestimport time,os,datetimefrom test_case import start_baidute,start_youdao,start_webcloudimport HTMLTestRunnerimport smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.mime.image import MIMEImage#方法1# import sys# #把test_case 目录添加到path下,这里用的相对路径# sys.path.append("\test_case")# import all_tests_list## #将用例组装数组# alltestnames=all_tests_list.caselist()# #创建测试套件# testunit=unittest.TestSuite()# for test in alltestnames:# testunit.addTest(unittest.makeSuite(test))#方法2 创建测试用例# testunit.addTest(unittest.makeSuite(baidute.Baidu))# testunit.addTest(unittest.makeSuite(youdao.Youdao))# testunit.addTest(unittest.makeSuite(webcloud.Login))#runner=unittest.TextTestRunner()#runner.run(testunit)#方法3 用discover方法获得结构listaa="C:\\Users\\lww\\PycharmProjects\\study\\test_case"def createsuite(): testunit=unittest.TestSuite() discover=unittest.defaultTestLoader.discover(listaa, pattern='start_*.py', top_level_dir=None) for test_suite in discover: for test_case in test_suite: testunit.addTest(test_case) print(testunit) return testunitalltestnames=createsuite()#取当前时间now=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))#把当前时间加到报告中filename="E:\\abc\\report\\"+now+'result.html'fp=open(filename,'wb')# runner=HTMLTestRunner.HTMLTestRunner(# stream=fp,# title=u'百度有道测试报告',# description=u'用例执行情况:'# )#定义发送邮件def sentmail(file_new): mail_from='*******@126.com' mail_to='******@126.com' #qq邮箱会屏蔽内容 #subject = '检查报告反馈' f=open(file_new,'rb') mail_body=f.read() f.close() msg=MIMEText(mail_body,_subtype='html',_charset='utf-8') msg['Subject'] =u'检查报告反馈' msg['date']=time.strftime('%a, %d %b %Y %H:%M%S %z') msg['From'] = mail_from # msg['To'] = mail_to # smtp = smtplib.SMTP() smtp.connect('smtp.126.com') smtp.login('******@126.com', 'password') smtp.sendmail(mail_from, mail_to, msg.as_string()) smtp.quit() print('email has send out!')#查找测试报告,调用发邮件功能def sendreport(): result_dir = 'E:\\abc\\report' lists = os.listdir(result_dir) lists.sort(key=lambda fn: os.path.getmtime(result_dir + '\\' + fn) if not os.path.isdir(result_dir + '\\' + fn) else 0) print('最新的文件为:' + lists[-1])#找到最新生成的文件 file = os.path.join(result_dir, lists[-1]) print(file) sentmail(file)if __name__=="__main__": runner = HTMLTestRunner.HTMLTestRunner( stream=fp, title=u'百度有道测试报告', description=u'用例执行情况:' ) runner.run(alltestnames) sendreport()
阅读全文
0 0
- selenium自动化架构+自动发邮件
- python unittest自动化测试,生成测试报告,自动发邮件
- 126自动化发邮件
- C#自动发邮件
- perl 自动发邮件
- linux自动发邮件
- Python自动发邮件
- 自动发邮件脚本
- ASP实现自动发邮件
- C#实现自动发邮件
- 用Java自动发邮件
- msmtp+mutt自动发邮件
- SQL SERVER自动发邮件
- Python-自动发邮件 一
- Python-自动发邮件 二
- sql自动发邮件功能
- postfix 实现自动发邮件
- python 自动发qq邮件
- eclipse 项目在tomcat中的部署路径
- js中数据的使用
- 0-Oracle测试插入10W条数据
- KEIL MDK 的优化
- DOMContentLoaded事件分析
- selenium自动化架构+自动发邮件
- bindService不能触发onServiceConnected方法的原因
- Ubuntu下boot分区剩余空间不足解决
- springmv 拦截返回结果
- 安卓学习笔记(八):内容提供者 跟着API指南来学习
- Android开发人员不得不收集的代码
- SQL字符串操作函数及示例
- 【Leetcode题解】53. Maximum Subarray
- hdu1053