资源简介
集成Pyton语言unittest方法,从而便于测试场景的管理,run.py是ECShop工程脚本执行的入口。此处将用户注册、用户登陆测试场景统一设置在test_Ecshop函数中并调用执行,根据函数的返回值,判断测试场景执行的成功与否,然后通过HTMLTestRunner方法,将测试结果以HTML格式输出
代码片段和文件信息
# coding:utf-8
from selenium import webdriver
import unittest
import os
from HTMLTestRunner import HTMLTestRunner
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from HRXT.uidriver.loggin import Log
import smtplib
import time
log = Log()
#==============定义发送邮件==========
def send_mail(file_new):
log.info(“------获取邮箱账户密码------“)
_user = ‘1024547862@qq.com‘ # 发件地址
_pwd=“lfwwfjridtiqbdid“ # 服务器授权码
_to=“1620596776@qq.com“
with open(file_new “rb“) as f:
mail_body = f.read()
msg = MIMEMultipart()
body = MIMEText(mail_body ‘html‘ ‘utf-8‘)
msg[‘Subject‘] = Header(“自动化测试报告“ ‘utf-8‘)
msg[‘From‘] = _user
msg[‘To‘] = _to
msg.attach(body)
#
#
#添加附件
log.info(“------添加测试报告附件------“)
att=MIMEText(open(report_file“rb“).read()“base64““utf-8“)
att[“Content-Type“] = “application/octet-stream“
att[“Content-Disposition“] = ‘attachment; filename= “testcase.html“‘
msg.attach(att)
#
#
#发送邮件
s = smtplib.SMTP_SSL(“smtp.qq.com“)
# s.set_debuglevel(1)
s.login(_user_pwd) # 登录邮箱的账户和密码
s.sendmail(_user_to msg.as_string())
s.quit()
log.info(“------发送邮件------“)
print(‘自动化邮件已发送‘)
#======查找测试目录,找到最新生成的测试报告文件======
def new_report(test_report):
lists = os.listdir(test_report) #列出目录的下所有文件和文件夹保存到lists
lists.sort(key=lambda fn:os.path.getmtime(test_report + “\\“ + fn))#按时间排序
file_new = os.path.join(test_reportlists[-1]) #获取最新的文件保存到file_new
print(file_new)
return file_new
if __name__ == “__main__“:
# unittest.TextTestRunner()
test_report=os.path.join(os.getcwd()“Warehouse\\report“) # 报告存放路径
case_path =os.path.join(os.getcwd()“case\\test_V1_0_1“) #用例路径
report_file = new_report(test_report)# 获取最新的测试报告
discover = unittest.defaultTestLoader.discover(case_path
pattern=“test_UserInfo_1.py“ # 匹配test*.py
top_level_dir=None)
print(discover)
# return discover
#======================测试报告============================
# html报告文件内容
now=time.strftime(“%Y-%m-%d-%H-%M-%S“) #加时间戳
report_abspath = os.path.join(test_report “result“+now+“.html“)
fp = open(report_abspath “wb“)
runner = HTMLTestRunner(stream=fptitle=‘自动化测试报告测试结果如下:‘description=‘用例执行情况:‘verbosity=2)
# 调用函数返回值
runner.run(discover)
fp.close()
new_report = new_report(test_report)
send_mail(new_report) # 发送测试报告
#通过主函数执行用例
#从注册到发布信息
#执行完成发生邮件,生成测试报告
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 241 2017-10-24 13:40 HRXT\.idea\inspectionProfiles\profiles_settings.xm
文件 866 2017-10-30 10:41 HRXT\.idea\inspectionProfiles\Project_Default.xm
文件 1559 2018-01-01 00:57 HRXT\.idea\misc.xm
文件 1637 2018-01-01 00:57 HRXT\.idea\modules.xm
文件 957 2017-12-29 20:31 HRXT\.idea\unti
文件 291 2017-12-29 20:31 HRXT\.idea\vcs.xm
文件 124272 2018-01-01 02:28 HRXT\.idea\workspace.xm
文件 318 2018-03-01 10:06 HRXT\case\config\config.ini
文件 0 2018-01-01 00:15 HRXT\case\config\__init__.py
文件 0 2018-02-01 17:02 HRXT\case\ob
文件 0 2018-02-01 17:03 HRXT\case\ob
文件 0 2018-02-01 17:00 HRXT\case\ob
文件 0 2018-02-01 17:00 HRXT\case\ob
文件 0 2018-02-01 17:01 HRXT\case\ob
文件 0 2018-02-01 17:01 HRXT\case\ob
文件 0 2018-02-01 17:09 HRXT\case\ob
文件 0 2018-02-01 17:09 HRXT\case\ob
文件 0 2018-02-01 17:01 HRXT\case\ob
文件 0 2018-02-01 17:02 HRXT\case\ob
文件 0 2018-02-01 17:05 HRXT\case\ob
文件 0 2018-02-01 17:06 HRXT\case\ob
文件 0 2018-02-01 16:56 HRXT\case\ob
文件 0 2018-02-01 17:20 HRXT\case\ob
文件 0 2018-02-01 17:24 HRXT\case\ob
文件 0 2018-02-01 17:23 HRXT\case\ob
文件 0 2018-02-01 17:23 HRXT\case\ob
文件 0 2018-02-01 17:20 HRXT\case\ob
文件 0 2018-02-01 17:24 HRXT\case\ob
文件 0 2018-02-01 17:21 HRXT\case\ob
文件 0 2018-02-01 17:22 HRXT\case\ob
............此处省略83个文件信息
- 上一篇:自动绘制刀模图软件+附带终身版注册机
- 下一篇:学生信息管理页面
评论
共有 条评论