python3.6+requests实现接口自动化6

Posted 给明天的自己

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3.6+requests实现接口自动化6相关的知识,希望对你有一定的参考价值。

摘要:逐步完善中…本篇记录编写自动化接口用例编写思路

 

目录

1、思路

2、案例

 

1、思路

接口自动化在每个公司的应用环节不一样,本篇介绍的是以接口自动化实现冒烟测试,将每个模块有关联业务的集合进行一个封装

第一步:将本模块的接口找到,并进行一个简单封装,这是为了扩展用例

第二步:在本模块引用其他外部模块的接口进行一个处理,只要输入出参就能获取到结果然后传给本模块接口使用(本篇未列出,下次介绍)

第三步:编写以test开头的用例,对整个模块可以串起来的功能做一个用例集合

第四步:根据需要将每个接口进行各种场景用例的遍历

2、案例

模块接口简要说明:

1、新增、搜索、结束配置分别是三个接口

2、新增的时候调用数据库去查一次,如果存在配置就删除,这样新增就不会失败

3、搜索接口使用刚新增的配置的结果

ladd_peizhi新增:
import requests
from aiopms.common import mysql_pub

mysql=mysql_pub.MysqlUtil()
class myAdd():
    def add(self):
        sql1="select****"
        m=mysql.mysql_getstring(sql1)
        if m!=0:
            sql2="delete****"
            mysql.mysql_execute(sql2)
        
        header={"Content-Type": "application/json;charset=UTF-8"}
        url="/add"
        body={""}
        m=requests.post(url,headers=header,json=body)

 

lsearch_peizhi搜索:
import requests


class mySearch():
    def search(self,n):
        header={"Content-Type": "application/json;charset=UTF-8"}
        url="/search"
        body={"m":n}
        m=requests.post(url,headers=header,json=body)
lend_peizhi结束:
import requests


class myEnd():
    def end(self,n):
        header={"Content-Type": "application/json;charset=UTF-8"}
        url="/end"
        body={"m":n}
        m=requests.post(url,headers=header,json=body)

  

用例简要说明:

1、将新增、搜索、结束配置接口放在一个用例中;

2、其中,结束配置要用到搜索配置的结果,使用globals()函数将搜索配置的结果保存起来,在结束配置中调用 

3、执行整个用例,就将整个配置的接口跑了一遍

import unittest
from cases.modules.peizhi import ladd_peizhi
from cases.modules.driver_peizhi import lsearch_peizhi
from cases.modules.driver_peizhi import lend_peizhi
class Testpeizhi(unittest.TestCase):
    def setUp(self):
	‘‘‘这是配置模块接口用例‘‘‘
        self.m=globals()
        self.add=ladd_peizhi.addpeizhi()
        self.search=lsearch_peizhi.searchpeizhi()
        self.end=lend_peizhi.endpeizhi()
    def test_add_peizhi(self):
	‘‘‘新增配置‘‘‘
        addresult=self.add.add()
        result_a=addresult[‘msg‘]
        self.assertEqual(result_a,"新增成功")
    def test_b(self):
	‘‘‘搜索配置‘‘‘
        n="aa"
        search_peizhi1=self.search.search(n)
        self.m["b"]=search_peizhi1
        result_b=search_peizhi1[‘code‘]
        self.assertEqual(result_b,0)
    def test_end_peizhi(self):
	‘‘‘结束配置‘‘‘
        n=self.m["b"]
        n1=n[‘data‘][‘rows‘][0][‘id‘]
        endresult=self.end.end(n1)
        result_c=endresult[‘msg‘]
        self.assertEqual(result_c,"结束成功")
if __name__ == ‘__main__‘:
    unittest.main()

  

以上是关于python3.6+requests实现接口自动化6的主要内容,如果未能解决你的问题,请参考以下文章

自动化工具 自研的接口自动化测试平台

python3.6的requests库&HTMLTestRunner实现测试报告

Python+Requests实现接口自动化

python+requests接口自动化4. 接口实现文件(图片)上传

python+requests接口自动化4. 接口实现文件(图片)上传

python 结合 requests库实现接口自动化测试