接口测试之python+rquest+unittest分层自动化框架

接口测试之接口po框架

一、新建一个项目

 接口自动化框架设计实战:

第一包:config

案例:

#登录接口
dl_url = 'http://cms.duoceshi.cn/cms/manage/loginJump.do'
dl_d = {'userAccount': 'admin', 'loginPwd': '123456'}
dl_h = "Content-Type:application/x-www-form-urlencoded"

#栏目接口
lm_url= "http://cms.duoceshi.cn/cms/manage/findCategoryByPage.do"
lm_d= {'parentId': '', 'categoryName': '', 'page': '1'}
lm_h = {"Content-Type": "application/x-www-form-urlencoded"}

第二包:api  组建接口包

#组建并发送接口
import requests
from  config.cms_config import  *
s=requests.Session()
class  Cms(object):
    def __init__(self):
        pass
    def dl(self):
        jk=s.post(url=dl_url,data=dl_d,json=dl_h)
        #print(jk.text)
        return  jk
    def lm(self):
        jk1=s.post(url=lm_url,data=lm_d,json=lm_h)
        # print(jk1.text)
        return  jk1
if __name__ == '__main__':
    c=Cms()
    c.dl()
    c.lm()

第三个包:testcase存放用例,

import  unittest
from  api.cms_api import  *
class  Cms_Test(unittest.TestCase):
    def setUp(self) -> None:
        pass
    def tearDown(self) -> None:
        pass
    def  test001(self):
        s=Cms().dl()
    def  test002(self):
        l=Cms().lm()
if __name__ == '__main__':
    V=Cms_Test()
    V.test001()
    V.test002()

第四个包:report包  报告包

 第五包:utils包工具类包

第六个包:

from utils.HTMLTestRunner3_New import  HTMLTestRunner
import unittest,os,time
from  utils.mail3 import SendMail
xm_path=os.path.join(os.path.abspath(os.path.dirname(os.getcwd())))  #项目路径
print(xm_path)
test_path=os.path.join(os.path.abspath(os.path.dirname(os.getcwd())),'testcase')#测试用例路径
print(test_path)
report_path=os.path.join(os.path.abspath(os.path.dirname(os.getcwd())),'report')#报告路径
print(report_path)
new=time.strftime('%y-%m-%d %H-%M-%S')
f=report_path+"/"+str(new)+'_report.html'
def  bg(x):
    d=unittest.TestLoader().discover(start_dir=test_path,pattern=x)
    file=open(f,"wb")
    r=HTMLTestRunner(stream=file,description="用例执行情况",tester='hz',title="cms接口po框架")
    r.run(d)
def  yj():
    fs=SendMail(send_msg=f,attachment=f)
    fs.send_mail()
if __name__ == '__main__':
    bg("cms*.py")
    yj()

二、邮箱设置

(1)

 

 

LTTYRPXNHUVXSJVG

 查看邮件:

 断言:

接口断言

分类: 教学笔记 / 教学笔记二

 参考:

讲解稿:
首先在pycharm里新建一个项目,然后构建6个包,分别是api构建包、conf配置包、report报告包、run运行包、testcase用例包以及utils工具包。
其中api包用来组建并发送接口请求,conf包用来存放所有接口的入参信息,report包用来放置运行所有测试用例生成的报告,run包用来自动加载所有的测试用例、并且运行,testcase包用来继承unittest单元测试框架、组建接口测试用例,utils包用来存放发送邮件和生成报告模块。
然后,在conf包中把参数值都写好,比如url、data和header;在api包中组建接口和发送接口请求,导入request和conf,参数名引用conf里面的,创建一个全局的session对象用来保持会话的状态和管理上下文,把各个接口的请求方式编写出来,同时用rep.json()来转换,全部封装在一个类里;在testcase包中组建测试用例导入unittest模块、api里面的Cms类,定义一个类,且继承unittest中的TestCase,用匿名对象来调用实例方法,然后进行断言,需要注意的是断言内容要与结果完全一致;最后,在run包里导入unittest、time、mail3、HTMLTestRunner,定义项目的路径、用例的路径、测试报告的名称、定义自动搜索用例,执行测试用例并生成报告,其中的时间戳也需要注意一下;此时,测试用例报告就会在report包里,最后用谷歌浏览器打开就可以查看了。

 这是我整理的《2024最新Python自动化测试全套教程》,以及配套的接口文档/项目实战【网盘资源】,需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)

  • 17
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值