资源简介

集成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.xml

     文件        866  2017-10-30 10:41  HRXT\.idea\inspectionProfiles\Project_Default.xml

     文件       1559  2018-01-01 00:57  HRXT\.idea\misc.xml

     文件       1637  2018-01-01 00:57  HRXT\.idea\modules.xml

     文件        957  2017-12-29 20:31  HRXT\.idea\untitled1.iml

     文件        291  2017-12-29 20:31  HRXT\.idea\vcs.xml

     文件     124272  2018-01-01 02:28  HRXT\.idea\workspace.xml

     文件        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\object_common\BasicInfo\OrganiAssi\__init__.py

     文件          0  2018-02-01 17:03  HRXT\case\object_common\BasicInfo\OrganiAssi\组织岗位分配

     文件          0  2018-02-01 17:00  HRXT\case\object_common\BasicInfo\OrganiHier\__init__.py

     文件          0  2018-02-01 17:00  HRXT\case\object_common\BasicInfo\OrganiHier\组织层次管理

     文件          0  2018-02-01 17:01  HRXT\case\object_common\BasicInfo\OrganiManage\__init__.py

     文件          0  2018-02-01 17:01  HRXT\case\object_common\BasicInfo\OrganiManage\组织信息管理

     文件          0  2018-02-01 17:09  HRXT\case\object_common\BasicInfo\PostAssi\__init__.py

     文件          0  2018-02-01 17:09  HRXT\case\object_common\BasicInfo\PostAssi\岗位职务专业分配

     文件          0  2018-02-01 17:01  HRXT\case\object_common\BasicInfo\PostManage\__init__.py

     文件          0  2018-02-01 17:02  HRXT\case\object_common\BasicInfo\PostManage\岗位信息管理

     文件          0  2018-02-01 17:05  HRXT\case\object_common\BasicInfo\ProfesManage\__init__.py

     文件          0  2018-02-01 17:06  HRXT\case\object_common\BasicInfo\ProfesManage\职务专业信息管理

     文件          0  2018-02-01 16:56  HRXT\case\object_common\BasicInfo\__init__.py

     文件          0  2018-02-01 17:20  HRXT\case\object_common\EmployeiManage\AgreemManage\__init__.py

     文件          0  2018-02-01 17:24  HRXT\case\object_common\EmployeiManage\AgreemManage\劳动协议信息管理

     文件          0  2018-02-01 17:23  HRXT\case\object_common\EmployeiManage\CerticateCategory\__init__.py

     文件          0  2018-02-01 17:23  HRXT\case\object_common\EmployeiManage\CerticateCategory\证书类别

     文件          0  2018-02-01 17:20  HRXT\case\object_common\EmployeiManage\ContractManage\__init__.py

     文件          0  2018-02-01 17:24  HRXT\case\object_common\EmployeiManage\ContractManage\劳动合同信息管理

     文件          0  2018-02-01 17:21  HRXT\case\object_common\EmployeiManage\EmployeiCerticate\__init__.py

     文件          0  2018-02-01 17:22  HRXT\case\object_common\EmployeiManage\EmployeiCerticate\员工证书管理

............此处省略83个文件信息

评论

共有 条评论

相关资源