单元UI自动化测试脚本之上的脚本组织结构


#all_test.py


#
coding:UTF-8 import unittest import HTMLTestRunner import time import smtplib from email.mime.text import MIMEText import os #===================定义发送邮件======================== def send_mail(file_new): #发送邮箱 mail_from='qq413452039@126.com' #收信邮箱 mail_to='paul.wang@bindo.com' #定义正文 f=open(file_new,'rb') mail_body=f.read() f.close() msg=MIMEText(mail_body,_subtype='html',_charset='utf8') #定义标题 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服务器,此处用的是126的SMTP服务器 smtp.connect('smtp.126.com') #用户名密码 smtp.login('qq413452039@126.com','w1111111')#设置对应邮箱的SMTP服务授权码,这个授权码替代代码中邮箱的登录密码,即可成功发送邮件 smtp.sendmail(mail_from,mail_to,msg.as_string()) smtp.quit() print(u'email has send out!!!') #==========查找测试报告目录,找到最新生成的测试报告文件======== def send_report(testreport): result_dir=testreport lists=os.listdir(result_dir) lists.sort(key=lambda fn:os.path.getmtime(testreport+fn)) print(lists) #print (u'最新测试生成的报告:'+lists[-1]) #找到最新生成的文件 file_new=os.path.join(result_dir,lists[-1]) print(file_new) #调用发邮件模块 send_mail(file_new) #=================将测试用例添加到测试套件========================= def creatsuite(): testunit=unittest.TestSuite() #定义测试文件查找目录 test_dir=r'/Users/bindo/Documents/' #定义discover方法的参数 discover=unittest.defaultTestLoader.discover(test_dir,pattern='test_*.py',top_level_dir=None) #discover方法筛选出来的用例,循环添加到测试套件中 for test_case in discover: print(test_case) testunit.addTests(test_case) return testunit if __name__=='__main__': now=time.strftime('%Y-%m-%d %H_%M_%S') testreport=r'/Users/bindo/Documents/report/' filename=testreport+now+'result.html' fp=open(filename,'wb') runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'自动化测试报告',description=u'用例执行情况:') alltestnames=creatsuite() runner.run(alltestnames) fp.close()#关闭生成的报告 send_report(testreport) # now=time.strftime('%Y-%m-%d %H_%M_%S') # filename='D:\\report\\'+now+'result.html' # fp=open(filename,'wb') # runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'测试报告',description=u'用例执行情况:') # if __name__=='__main__': # alltestnames=creatsuite() # runner.run(alltestnames) # fp.close()
#start_run.py
import
os import time k=1 while k<2: now_time=time.strftime('%H:%M:%S') if now_time=='18:00:00': print(u'开始运行脚本:') os.chdir('/Users/bindo/Documents/') os.system('python3 all_test.py') print(u'运行完成退出') break else: time.sleep(10) print(now_time)

 

转载于:https://www.cnblogs.com/paul-wang/p/9876964.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值