zoukankan      html  css  js  c++  java
  • 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.driver_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()
    

      

  • 相关阅读:
    Mongodb中Sharding集群
    Codis --豌豆荚开源的Redis分布式中间件
    Linux下查看文件和文件夹大小
    kafka中处理超大消息的一些考虑
    heroku
    MVCC图示
    oracle ORA_ROWSCN 行记录的更新时间
    6个理由告诉你为什么要用NAS
    RAID技术介绍和总结
    新一代分布式任务调度框架:当当elastic-job开源项目的10项特性
  • 原文地址:https://www.cnblogs.com/weizhideweilai/p/13339608.html
Copyright © 2011-2022 走看看