热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python自动化第一天

学习内容,一.接口测试基础知识二.接口测试工具使用postman、JMeter三.接口测试脚本录制一.接口测试基础知识1.什么是接口,分两种࿰

学习内容,

一.接口测试基础知识
二.接口测试工具使用 postman、JMeter

三.接口测试脚本录制

 

 

一.接口测试基础知识

1.什么是接口,分两种,一种是程序内部的接口,一种是系统对外的接口

      系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的

      程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用

2.接口的分类

      webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。

      http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式

3.什么是接口测试

     接口测试就是功能测试,测试数据之间的相互传输是否准确

4.接口测试的必要性

     1.可以发现很多在页面上操作发现不了的bug、

     2.检查系统的异常处理能力 、

     3.检查系统的安全性、稳定性 、

     4.前端随便变,接口测好了,后端不用变

5.接口测试流程

    需求评审,熟悉业务和需求------开发提供接口文档-------编写接口测试用例-------用例评审-----提测后开始测试-------提交测试报告

6.接口文档规范   接口说明----调用url----请求方法(get、post)------请求参数、参数类型、请求参数说明-------返回参数说明

7.http接口测试方法

     1、url?param=value¶m2=value

这种是最简单的一种,问号前面是请求url,后面是请求的参数名和参数值,多个参数用&来连接

   https://api.douban.com/v2/book/search?q=邹伟伟

     2、还有一种就是入参是json串的,那就不能拼接参数了,需要借助工具来完成比如postman

 8.GET和POST请求:

         如果是get请求的话,直接在浏览器里输入就行了,只要在浏览器里面直接能请求到的,都是get请求,如果是post的请求的话,就不行了,就得借助工具来发送。

GET请求和POST请求的区别:

         1、GET使用URL或COOKIE传参。而POST将数据放在BODY中。

         2、GET的URL会有长度上的限制,则POST的数据则可以非常大。

         3、POST比GET安全,因为数据在地址栏上不可见。

         4、一般get请求用来获取数据,post请求用来发送数据。

其实上面这几点,只有最后一点说的是比较靠谱的,第一点post请求也可以把数据放到url里面,get请求其实也没长度限制,post请求看起来参数是隐式的,稍微安全那么一些些,但是那只是对于小白用户来说的,就算post请求,你通过抓包也是可以抓到参数的。所以上面这些面试的时候你说出来就行了。

9.HTTP 状态码

l  1、200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了。

l  2、300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了,

l  3、400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面

l  4、500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果

10.接口测试用例模板

1、项目            是哪个项目的

2、模块            这个接口是属于哪个功能模块的

3、用例id

4、接口名称

5、用例标题      用例是干嘛的

6、请求方式      GET/POST

7、请求url         url地址

8、请求参数

9、前置条件       有依赖的时候,比如说要测登录失败3次的

10、结果验证     预期结果

11、请求报文    

12、返回报文 

13、测试结果    通过/失败

14、测试人员  

 

二.接口测试工具--JMeter

  

1.jmeter-http接口脚本录制流程

      添加线程组----添加HTTP请求-----再添加http请求中写入接口url、路径、请求方式、参数----添加查看结果树-----调用接口、产看返回值

2.添加header流程-线程组(右键)---添加---配置元件----HTTP信息头管理器,使用HTTP信息头管理,可以帮助测试人员设定JMeter发送的HTTP请求头所包含的信息。

 

 

 



3.添加COOKIE流程 流程-线程组(右键)---添加---配置元件----httpCOOKIE管理器

 



4.jmeter-webservice脚本
• 1、在soapui中新建已经soap项目,导入wsdl地址,获取到请求报文、SOAPAction和请求url(在soapui的raw中能找到)
• 2、打开jmeter新建一个线程组
• 3、新建一个SOAP/XML-RPC Request
• 4、把url、soapaction和请求报文写到soaprequest中
• 5、调用接口、查看返回值

 

5.Jmeter-参数化
参数化是干嘛的呢,咱们在调用接口的时候,有入参,那参数里面的值如果经常变化的话,就得每次去改了,很麻烦,这时候咱们就把需要经常变的值,改成可以变化的或者是咱们提前设置好的一些值,这样的话,调用的时候就不用每次都改它的值了

• Jmeter参数化的方式有三种
• 1、用户定义的变量
• 这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的
• 2、函数生成器
• 函数生成器可以参照一定的规则生成数据,这样的比如说生成一些随机数
• 3、从文件中读取
• 文件读取就是事先写好一些数据,然后从文件中读取,这样的话,比如说登录接口,账号和密码都是我们事先注册好的
6.用户定义变量
• 在线程组中添加一个用户定义的变量,然后写key和value就可以了,key就是这个参数的名称,也就是你在脚本里面取的值,value就是具体值了。在取参数化的值的时候,使用${name}这样去取值,name就是你取的变量名称。


取值方式"${名称}
7.函数生成器
• 函数助手的话,可以按照规则生成一些参数,比如说随机数取当前时间,最常用的就是这两种。
• 随机数__Random,可以在你指定的一个范围内取随机值
• 取当前时间__time,如果在有一些需要传时间的情况下可以使用,日期格式是:
• yyyy-MM-dd HH:mm:ss
• 年-月-日-小时:分钟:秒
• 取唯一id,__UUID,这个就是每次会生成一个随机的uuid,都是唯一的

 

 

8.从文件中读取
• 从文件中读取的话,三个步骤
• 1、读取文件
• 2、取文件内容里面的参数,给它一个名字
• 3、使用值
• 从文件读取的话,需要在线程组里面添加一个CSV Data Set Config,它就是做前面两步的操作的

 

三、实例操作

 

 

转:https://www.cnblogs.com/gjq-122/p/8592935.html



推荐阅读
  • SAP接口编程PyRFC 调用 BAPI_FIXEDASSET_CREATE1创建固定资产
    本篇演示通过PyRFC调用BAPI_FIXEDASSET_CREATE1在SAP系统中创建固定资产,再一次体验一下Python与其它语言相比的简洁性。首先简单说明B ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 那么多优秀的自动化测试工具,而你只知道Selenium?
    如今,作为一名软件测试工程师,几乎所有人都需要具备自动化测试相关的知识,并且懂得如何去利用工具,来为企业减少时间成本和错误成 ... [详细]
  • postmain报400_Postman测试@RequestBody发送请求时报400错误
    postman测试requestbody时碰到400错误图1原因:传参数如果不使用RequestBody,在使用Postman进行Post请求时,通常做 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
author-avatar
太2真人05
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有