接口测试框架V1.0版

Posted 测试阿拉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口测试框架V1.0版相关的知识,希望对你有一定的参考价值。

  1. 自动化测试框架目录结构如下:

    report:生成接口自动化测试报告

    test_case:用于编写接口自动化测试用例

    run:执行所有接口测试用例

             1).run_test.py 生成测试报告

             2).run_mail.py 生成测试报告并发送邮件(邮件正文显示测试报告)

             3).run_mail_file.py 2+正文加附件的形式(正文可编写)

    【注】此框架:没有连接数据库

  2. run_mail_file.py(建议使用这一种)

    # -*- coding: utf-8 -*-

    import sys

    reload(sys)

    sys.setdefaultencoding("utf-8")

    import unittest,os

    import time

    from htmlTestRunner import  HTMLTestRunner

    import smtplib

    from email.mime.text import MIMEText            #MIMRText()定义邮件正文

    from email.mime.multipart import MIMEMultipart #MIMEMulipart模块构造带附件

    def send_mail(file_new):

        #multpart有三种类型,如果一个邮件有纯文本正文,超文本正文,内嵌资源,附件,则选择mixed类型

        msg = MIMEMultipart('mixed')

        #邮箱标题+发件人+收件人

        Subject = '绿湾_ala_接口自动化测试报告'

        msg['Subject'] = Subject

        msg['From'] = 'ala'

        #接收者,可以多个

        receiver = ['lishikun@lvwan.com', 'ala9981@126.com']

        msg['To'] = ';'.join(receiver)

        username = '账号'

        password = '密码'


        #邮箱正文

        text = "Hi,附件是测试报告,请使用浏览器打开查看!"

        text_plain = MIMEText(text, 'plain', 'utf-8')

        msg.attach(text_plain)

        #邮箱附件

        f = open(file_new, 'rb')

        mail_body = f.read()

        f.close()

        file = MIMEText(mail_body, 'base64', 'utf-8')

        file['Content-type'] = 'application/cttet-strem'

        file["Content-Disposition"] = "attachment;filename = test_report.html"

        msg.attach(file)

        #开启邮箱服务

        smtp = smtplib.SMTP()

        smtp.connect('smtp.lvwan.com')

        smtp.login(username,password)

        smtp.sendmail(username,receiver,msg.as_string())

        #msg:发送消息:邮件内容。一般是msg.as_string():as_string()是将msg(MIMEText对象或者MIMEMultipart对象)变为str。

        smtp.quit()

    def new_report(test_report):

        #获取最新测试生成的测试报告

        lists = os.listdir(test_report)

        lists.sort(key=lambda fn:os.path.getmtime(test_report+'\\'+fn))

        file_new = os.path.join(test_report,lists[-1])

        return file_new

    if __name__ == '__main__':

        now = time.strftime("%Y-%m-%d %H_%M_%S")

        #测试报告路径

        test_report = "D:\\PycharmProjects\\LV_BG\\LvWan\\Request_test\\Report"

        #测试case所在目录

        test_dir = 'D:\\PycharmProjects\\LV_BG\\LvWan\\Request_test\\test_case'

        discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')

        filename = "D:\\PycharmProjects\\LV_BG\\LvWan\\Request_test\\report\\" + now + 'test_report.html'

        fp = open(filename,"wb")

        #生成html的测试报告

        runner = HTMLTestRunner(stream= fp,title = "搜索接口测试报告",description="测试用例执行概况", tester="ala")

        runner.run(discover)

        fp.close()

        new_report = new_report(test_report)

        send_mail(new_report)

        if send_mail:

            print "邮件已发出"

        else:

            print "发送失败"

    3.以上源码可以直接使用,只要修改测试用例中的请求就可以,测试用例在之前已经贴出来了,加油,如果你有什么建议欢迎留言,一起学习


以上是关于接口测试框架V1.0版的主要内容,如果未能解决你的问题,请参考以下文章

InChat版,仅仅两个接口实现自己的IM系统(可兼容)

yijavaBlog博客系统源码无需数据库版v1.0.0

不用写代码,也能做好接口测试

HybridStart发布v1.0测试版

pytest + yaml 框架 -7.用例分层机制

Python Api接口自动化测试框架 代码写用例