首页 > 编程语言 >python接口自动化

python接口自动化

时间:2023-04-19 23:47:09浏览次数:47  
标签:python 接口 url json result 自动化 print data

# coding=utf-8

'''
python中常用的做接口自动化测试的库有哪些?
requests、urllib、urllib3、httplib
requests是开源免费的,应用最多的一个库
'''
# import requests
#创建接口请求三种方法
#r=requests.post(url=url,data=data,json=json)
#r=requests.request('psot',url=url,data=data)
#r=requests.Session()   #使用session保持上下文管理,可以保持会话状态

#get请求的参数一般放在params里面
#post请求参数一般放在data和json里面
#如果接口内容类型connect-type为application/x-www-form-urlencoded 就用data
#如果接口内容类型connect-type为application/json 就用json

#组件一个post请求
#发送一个接口请求基本组成有哪些?url地址、入参、headers、接口请求方法
#1.定义url地址
# login_url='http://cms.duoceshi.cn/cms/manage/loginJump.do'
#2.接口的入参
# data={'userAccount': 'admin',
#       'loginPwd': 123456 }

#3.接口请求头
# headers={'Content-Type': 'application/x-www-form-urlencoded'}

#组件接口
# r=requests.post(url=login_url,data=data,headers=headers)
# result=r.text             #{"code":"200","msg":"登录成功!","model":{}}  <class 'str'>
# result=r.json()             #把接口返回json字符串通过json函数进行处理成字典{'code': '200', 'msg': '登录成功!', 'model': {}} <class 'dict'>
# print(result,type(result))
# print(result,type(result))
# print(r.headers)           #拿到响应头
# print(r.status_code)        #拿到响应状态码
# print(r.cookies)           #拿到响应的cookie

#第一种断言方法
# if result['msg']=='登录成功!':
#     print('接口断言成功')
# else:
#     print('接口断言失败')

#第二种断言方法
# if result['code']=='200':
#     print('接口断言成功')
# else:
#     print('接口断言失败')

#组件get请求
#1.定义url地址
# login_url='http://cms.duoceshi.cn/cms/manage/loginJump.do'
#2.接口的入参
# data={'userAccount': 'admin',
#       'loginPwd': 123456 }

#3.接口请求头
# headers={'Content-Type': 'application/x-www-form-urlencoded'}

#组件接口
# r=requests.get(url=login_url,params=data,headers=headers)
# result=r.text            #{"code":"200","msg":"登录成功!","model":{}}
# result=r.json()          #{'code': '200', 'msg': '登录成功!', 'model': {}}
# print(result)


#把接口请求封装在类里面
import requests
# class   Cms():
#     def __init__(self):
#         #创建一个session对象,作用就是保持上下文管理,登录之后和登录的接口保持在同一个会话中
#         self.session=requests.Session()
#     def login_url(self):
#         '''封装一个登录接口'''
#         login_url='http://cms.duoceshi.cn/cms/manage/loginJump.do'
#         data={'userAccount': 'admin',
#                 'loginPwd': 123456 }
#         header={'Content-Type': 'application/x-www-form-urlencoded'}
#         #组件接口
#         r=self.session.post(url=login_url,data=data,headers=header)
#         result=r.json()
#         print(result)
# if __name__ == '__main__':
#     c=Cms()
#     c.login_url()

import unittest
class   Cms(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        # 创建一个session对象,作用就是保持上下文管理,登录之后和登录的接口保持在同一个会话中
        cls.session = requests.Session()
    def test01_login(self):
        login_url = 'http://cms.duoceshi.cn/cms/manage/loginJump.do'
        data = {'userAccount': 'admin',
                'loginPwd': 123456}
        header = {'Content-Type': 'application/x-www-form-urlencoded'}
        # 组件接口
        r = self.session.post(url=login_url, data=data, headers=header)
        result = r.json()
        print(result)
    def test02_query(self):
        query_url='http://cms.duoceshi.cn/cms/manage/queryUserList.do'
        query_data={'startCreateDate':'',
                    'endCreateDate':'',
                    'searchValue':1234,
                    'page':1}
        query_header={'Content-Type': 'application/x-www-form-urlencoded'}
        r=self.session.post(url=query_url,data=query_data,headers=query_header)
        result=r.json()
        print(result)

if __name__ == '__main__':
    unittest.main()

 

标签:python,接口,url,json,result,自动化,print,data
From: https://www.cnblogs.com/jjm414/p/17335090.html

相关文章

  • python接口自动化2关联接口
    #coding=utf-8"""===================================深圳多测师信息技术有限公司作者:多测师-小程日期:2023年03月30日==================================="""#关联接口:上一个接口的返回参数作为下一个接口的入参#importrequests#importre#classProvince():......
  • python+playwright 学习-35.获取页面的完整 HTML 内容
    前言selenium里面有个driver.page_source可以获取整个html页面的内容,playwright里面也有类似的方法使用page.content()page.content()获取html内容使用示例withsync_playwright()asp:browser=p.chromium.launch(headless=False)context=browser.new_context(......
  • 华为工单宝:助力制造业数字化转型,通过项目管理实现售后服务自动化和规范化
    在企业数字化转型的道路上,产品研发是最先实现数字化的环节,但售后服务却是数字化转型的“最后一公里”,也是企业数字化转型过程中的难点所在。如何实现产品研发、售后服务一体化协同?如何将产品研发与售后服务过程进行有机结合?如何让售后服务过程中的订单管理、订单执行、客户服务等各......
  • 华为工单宝助力科视光学实现售后服务自动化,提升客户体验和企业效率
    随着科技的迅猛发展,全球制造业正处于一个数字化转型的关键时期。在这一趋势下,科视光学与华为工单宝携手开展战略合作,将华为工单宝的先进技术引入制造业售后服务,实现服务自动化和规范化。这一举措将极大地提升客户体验,降低运营成本。此外,双方合作的成功经验也在为类似的中小微企业提......
  • python_07
    #coding=utf-8'''python中的类和对象:类(class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。实例化:创建一个类的实例,类的具体对象。对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和......
  • 华为工单宝:助力制造业实现数字化转型,通过项目管理实现售后服务自动化
    当前,全球制造业正在经历一场数字化转型的浪潮。数字化转型对于中国制造业来说,不仅是从量变到质变的过程,更是一个“由外而内”的变革。通过对业务、流程和技术等各方面进行数字化改造,从根本上提升企业的竞争力。在这场变革中,如何通过数字化手段实现企业业务自动化?“售后服务管理是制......
  • python编写CDN刷新脚本
    脚本刷新根目录[root@jenkinscdn]#catdns_flush.py#!/usr/bin/python3fromaliyunsdkcore.clientimportAcsClientfromaliyunsdkcdn.request.v20180510.RefreshObjectCachesRequestimportRefreshObjectCachesRequestimportsysiflen(sys.argv)<2:print(�......
  • python+playwright 学习-49 pytest-xdist 多进程执行用例
    前言在实际工作中项目下的web自动化用例非常多,单进程执行会消耗很长的运行时间,可能运行一次用例得几个小时。为了加快用例的运行速度,可以使用pytest-xdist多进程执行用例。但并不是说你写的用例,直接安装插件就能使用,实际使用的过程中还会遇到很多的问题。pytest-xdist多进程执行......
  • python-悲观锁和乐观锁
    乐观锁和悲观锁它们都是一种思想,都是人们定义出来的概念,和语言无关并发控制:当程序出现并发的问题时,我们需要保证在并发情况下数据的准确性,以保证当前用户在和其他用户一起操作时,得到的结果和他单独操作时得到的结果是一样的,没有做好并发控制,就可能导致脏读、幻读、不可重复读等问......
  • 【中介者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
    简介中介者模式(MediatorPattern)是一种行为型模式。它限制对象之间的直接交互,它用一个中介对象来封装一系列的动作,以让对象之间进行交流。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。当一些对象和其他对象紧密耦合以致难以对其进......