付费网站怎么做,小企业网站建设和管理,建设环评备案登记网站,马来西亚服务器租用配置邮件发送人及接收人#xff0c;并执行测试用例#xff0c;最后发送测试报告到指定邮箱#xff08;注意#xff1a;打开测试报告目录后#xff0c;最后记得关闭#xff0c;不然邮箱接收到的测试报告内容将会为空#xff09;
import time
import unittest
import os
…配置邮件发送人及接收人并执行测试用例最后发送测试报告到指定邮箱注意打开测试报告目录后最后记得关闭不然邮箱接收到的测试报告内容将会为空
import time
import unittest
import os
import smtplib
from HTMLTestRunner import HTMLTestRunner
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart#发送邮件
def send_mail(file_new):mail_host smtp.qq.commail_user 123456qq.commail_pwd v*****g # qq生成的授权码receivers [123456126.com]subject 自动化测试报告fopen(file_new,rb)mail_contentf.read()#把报告作为邮件内容#msgMIMEText(mail_content,html,utf-8)#msg[Subject]Header(subject,utf-8)#把报告作为附件发送att MIMEText(mail_content, base64, utf-8)att[Content-Type] application/octet-streamatt[Content-Disposition] attachment; filenametest_report.htmlmsg MIMEMultipart(related)msg[Subject] Header(subject,utf-8)msg.attach(att)#连接邮箱登录发送邮件smtpObj smtplib.SMTP()smtpObj.connect(mail_host)# 上面两行也可以写成smtpObjsmtplib.SMTP_SSL(mail_host,465)smtpObj.login(mail_user, mail_pwd)smtpObj.sendmail(mail_user, receivers, msg.as_string())#查找最新的测试报告
def new_report(test_report):lists os.listdir(test_report)# lambda argument_list: expression表示的是一个函数# 比如lambda x, y: x*y函数输入是x和y输出是它们的积x*y# lists.sort(keylambda fn: os.path.getmtime(result_dir\\fn))lists.sort(keylambda fn: os.path.getmtime(test_report / fn))latest_file os.path.join(test_report, lists[-1])print(latest_file)return latest_filedef main():一个一个加suite unittest.TestSuite()# suite.addTest(TestAdd(test_case))suite.addTest(TestAdd(test_add1))suite.addTest(TestAdd(test_add2))suite.addTest(TestSub(test_sub1))suite.addTest(TestSub(test_sub2))runner unittest.TextTestRunner()runner.run(suite)test_dir r./test_case/test_reportr./report/TestLoader是用来加载TestCase到TestSuite中的其中有几个loadTestsFrom__()方法就是从各个地方寻找TestCase创建它们的实例然后add到TestSuite中再返回一个TestSuite实例discover unittest.defaultTestLoader.discover(test_dir, patterntest_*.py)#给生成的测试报告设置名称current_time time.strftime(%Y-%m-%d %H_%M_%S)file_nametest_reportcurrent_time_result.htmlfpopen(file_name,wb)runner HTMLTestRunner(streamfp,title测试报告,description用例执行情况啦啦啦:)runner.run(discover)fp.close()latest_reportnew_report(test_report)send_mail(latest_report)if __name__ __main__:main()百度为例如下
from selenium import webdriver
import unittest
import time
from HTMLTestRunner import HTMLTestRunnerclass Baidu(unittest.TestCase):def setUp(self):self.driverwebdriver.Chrome()self.driver.maximize_window()self.driver.implicitly_wait(10)self.base_urlhttp://www.baidu.comdef test_baidu_search(self):百度搜索测试一下注释driverself.driverdriver.get(self.base_url)driver.find_element_by_id(kw).clear()driver.find_element_by_id(kw).send_keys(HTMLTestRunner)driver.find_element_by_id(su).click()time.sleep(2)def tearDown(self):self.driver.quit()if __name__ __main__:testunitunittest.TestSuite()testunit.addTest(Baidu(test_baidu_search))current_timetime.strftime(%Y-%m-%d %H_%M_%S)file_nameC:\\Users\\xxx\\Documents\\current_time_result.htmlfpopen(file_name,wb)runnerHTMLTestRunner(streamfp,title百度搜索测试报告,description用例执行情况)runner.run(testunit)fp.close()unittest.main()