首页 > 其他分享 >接口自动化

接口自动化

时间:2023-05-11 20:38:16浏览次数:29  
标签:传参 请求 接口 Content json 自动化 requests Type

一、接口测试和接口自动化测试行情

目前主流的接口测试工具:( 中小型公司、项目 )

Postman+Newman+Git+Jenkins

Jmeter+Ant+Git+Jenkins

目前主流的接口自动化测试技术:( 大型的公司、项目)

python+requests+pytest+allure+jenkins

二、requests库简介

requests用来发送http请求以及接收http响应的python第三方库,主要用于接口自动化测试

pip install requests

三、requests库常用的方法

1.requests.get()  url是接口地址,params用于传参

 

2.requests.post()  url是接口地址,data用于传参,json也适用于传参

data和json传参的区别:主要是通过请求头Content-Type来区分

Content-Type:作用是服务器要求传入的报文的内容类型

请求:请求方式,请求路径,请求头,请求正文。

Postman四种传参方式对应的Content-Type的值如下:

form-data对应的Content-Type : multipart/form-data; boundary=<calculated when request is sent>  #文件上传
x-www-from-urlencoded对应的Content-Type : application/x-www-form-urlencoded  #表单提交
raw分为以下几种:
  text对应的Content-Type : text./plain
  javscript对应的Content-Type : application/javascript
  json对应的Content-Type : application/json
  html对应的Content-Type : text/html
  xml对应的Content-Type : application/xml
binary对应的Content-Type : application/binary

data和json传参跟Content-Type的关系如下:

1.服务器要求Content-Type:application/x-www-form-urlencoded,则需要,data传参:报文是dict类型
  服务器要求Content-Type:text./plain,则需要,data传参:报文是str类型
2.服务器要求Content-Type:application/json,则需要,json传参:报文可以是dict类型

所以:

data:可以传纯键值对的dict(非嵌套的dict),也可以传str格式(如果是嵌套字典那么就需要使用ison.dumps()把嵌套字典转化成ison字符串传参)

json:可以传任何形式的dict( 包括嵌的dict)

#json.loads()  把json字符串转化成dict格式

#json.dumps()  把dict格式转化成ison字符串

3.requests.put()

 

4.requests.delete()

 

5.requests.request() 可以发送所有类型的请求:get,post,put,delete

不管是get还是post还是put和delete都是调用的requests.request方法。而requests.reques方法调的是session.request方法。

method                  请求方式

url                           请求路径

params=None        get方式传参

data=None             post方式传参

json=None             post方式传参

headers=None       请求头

cookies=None        请求cookie

files=None              文件上传







四、requests模块返回的response对象详解

res.json()  获得返回的字典格式的数据

res.text  获得返回的字符串格式的数据

res.content  获得返回的bytes(字节)类型的数据

res.status_code  返回状态码

res.reason  返回状态信息

res.cookies  返回cookie信息

res.headers  返回响应头

res.request.xxx  返回请求的数据,如:请求头,请求参数等




五、请求必须带请求头的接口,以及需要cookie鉴权和session鉴权的接口

90%以上的基于web的接口都有cookie鉴权。

两种解决方式
1使用ookie关联

2使用session关联 一般用这种方式

标签:传参,请求,接口,Content,json,自动化,requests,Type
From: https://www.cnblogs.com/vorn/p/17391927.html

相关文章

  • Thinkphp5.1允许uni-app的H5跨域请求接口解决方法
    情景:   uni-app使用vue框架开发混合APP,虽然APP或者小程序没有跨域,但希望就是写完这个既有H5,又有APP,小程序等,所以能通过后端解决跨域最好。但是不知道是vue的原因还是什么,在PHP接口基类中添加了header头完全不起作用。官方给出的方法也有,具体可以看https://uniapp.dcloud.io/ap......
  • freeswitch两个DTMF转换接口的区别
     概述freeswitch支持三种模式的DTMF传输方式,分别时inband、INFO、2833。在传统的PSTN网络中,所有的DTMF码都是inband模式,所以VOIP网络和PSTN网络对接中,需要将DTMF码做格式转换,通常是2833和inband之间的转换。环境centos:CentOS release7.0(Final)或以上版本freeswitch:v1......
  • 接口文档
    目录一、接口文档使用coreapi自动生成接口文档步骤代码两点说明一、接口文档在前后端分离的web应用模式下,我们编写后端只需要编写接口,前端根据我们的接口编写各式各样的前端界面。作为后端,我们十分清除自己编写的各种接口的作用,以及接口的要求,但是前端人员并不知道,因此我们需......
  • SpringBoot 接口并发限制(Semaphore)
    可以使用JMeter辅助测试 https://blog.csdn.net/weixin_45014379/article/details/124190381@RestController@RequestMapping({"/Test"})publicclasstest{Loggerlogger=LoggerFactory.getLogger(this.getClass());//使用Semaphore并发限制3个超过阻......
  • 接口测试:Eolink Apikit 和 Postman 哪个更好用?
    很多做服务端开发的同学,应该基本都用过Postman来测试接口,虽然Postman能支撑日常工作,但是总感觉还是少了点什么,比如需要Swagger来维护接口文档,需要人肉发送接口变更通知。如今,国产的接口管理工具做得越来越好了,比如,EolinkApikit,一站式API协作平台。EolinkApikit和Post......
  • 10个自动化测试框架,测试工程师用起来
    什么是自动化测试框架?自动化测试框架是为自动化测试脚本提供执行环境的脚手架。框架为用户提供了各种优势,帮助他们有效地开发、执行和报告自动化测试脚本。它更像是一个专门为自动化组织的测试而创建的系统。简而言之,我们可以说框架是各种指导方针、编码标准、概念、过程、实践、......
  • jenkins的安装和配置(flask结合jenkins半自动化部署流程)
    jenkins在虚拟机中安装1.1背景介绍Jenkins是一款流行的开源持续集成(ContinuousIntegration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。Jenkins官网:http://jenkins-ci.org/Jenkins特征开源的Java语言开发持续集成工具,支持持续集成,持续部署。易于安装部署......
  • APP自动化-多页列表滑动获取元素
    在APP自动化过程中,遇到目录类的元素需要获取元素里的值,如果存在多页,需要滑动很多次,可以通过循环+源码变化来判断是否滑动到底#wait.until(ec.visibility_of_element_located(locator)).click()#点击目录#开始正序listlocator=(By.ID,"com.zhao.myreader:id/tv_chapter_......
  • springboot集成springSwagger生成接口文档
    1.首先引入pom.xml依赖<!--SwaggerAPI文档--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version><exclusions><exclus......
  • 记录一次接口性能优化
    查询接口性能优化两个查询接口,涉及四个不同的表,其中有一个表数据量较大;一开始编码实现的方法,调用接口发现耗时特别长,三四秒钟:使用SpringStopWatch分析代码运行时间,找到是哪里导致整个接口时间需要这么久的:StopWatchstopWatch=newStopWatch();//开始时间stopWatch.star......