我的python自动化学习笔记-第一篇(接口测试)

学习的接口测试工具postman、jmeter

在接口测试之前,我们要获得接口文档。接口文档会告诉我们:
url 请求方式 请求参数 参数的说明
url即要访问的链接、地址
请求方式指。。。有直接向服务器获取数据的请求方式(get)。有的要输入一些数据,才能向服务器获取数据(post),如登录。(具体不清楚)后续补充
最常用的两种请求方式:get、post
请求参数是。。发送给服务器的字段名称?如登录时的username。具体啥定义。不知道 后续补充
还有一个叫做传参的方式,一般是key—value方式传参。还有json传参。还有需要上传文件的方式,参数类型改成file。不同的传参方式操作不同。
接下来,我们要知道的是:什么是接口?get和post分别是什么?header和body?请求参数是什么?postman和Jmeter怎么用?key—value传参和json传参、file类型的传参请求操作上有啥不同?

一、get请求

1、什么意思:即只向浏览器获取数据的请求。
2、操作上的特点:

    1、直接通过链接获取服务器响应,参数写在链接里面的,可通过浏览器输入地址测试,一般认为这种请求不安全。(不停的改变参数即达到测试目的。)
    2、没有请求体、只有请求头。(请求体是什么?请求头是什么?)
    3、有参数的大小限制。

二、post请求

1、什么意思:通过输入数据的方式向服务器获取数据的请求。如:登录。
2、操作上的特点:

       1、测试时需要借助工具。
       2、需要cookie、file等信息的接口都是post类型。

三、header与body

一个接口,即向服务器发送的一个请求。信息中通常包含头信息(header)和身体信息(body)

   header包含的信息包括:发出请求的额外信息、用的哪种浏览器、想让服务器返回什么样的数据、cookie。
    body包含的信息:正常发给服务器的数据。

四、 接口测试要考虑的测试要点

       1、正常的数据测试一遍。
       2、异常的数据。
             1、不按接口文档的来。错误的参数、错误的value、空参数、空value
             2、错误的业务逻辑。
      接口测试用例格式:
      项目  模块   url  请求方式 请求参数  预期结果  实际结果  状态

五、postman

    操作比较简单。主要要记录的是:
    1、post请求时、cookie写在在【header】里。【key】就填Cookie。【value】填cookie的值。可通过查看页面元素找到。有cookie的请求一定要把cookie填进来。
    2、参数写在body。通过接口文档分别把参数名填到【key】中。【value】是测试根据测试目的的填具体数据。
    3、json传参时、把参数数据拷贝到【body】-【raw】中。
    3、要上传文件的接口,点击【body】-【form-data】,更改key的类型为file即可上传文件。参数名为:file

json是什么?通用语言,客户端和服务端不是同一语言时,json充当翻译。
**cookie是什么?**保存在你自己本地的一个键值对,是客户端记录用户的登录信息用的吗?
session是保存在服务端的一个键值对 ,如果cookie和session一样。就可以从服务器直接获取到数据,不用重新登录。好像有时效。

六、Jmeter

   1、用java开发的、开源的、性能测试工具。
   2、jmeter中【返回响应的数据】中文乱码如何解决:
         在jmeter的bin目录下,找到jmeter的配置文件,jmeter.properties,然后把
     sampleresult.default.encoding=UTF-8加到最下面 ,重新打开jmeter
   3、添加线程组。右击【测试计划】-【添加】-【Threads】-【线程组】。填写线城数(1)、循环次数(1)、持续时间。
   4、添加接口。右击【线程组名】【添加】-【Sampler】-【HTTP请求】。
   5、添加【查看结果树】。右击【线程组】-【添加】-【监听器】-【察看结果树】---察看接口测试结果
   6、添加【聚合报告】。右击【线程组】-【添加】-【监听器】-【聚合报告】---察看性能测试结果
   7、输入cookie。右击【接口名称】。点击【配置元件】-【HTTP信息头管理器】。点击【添加】。名称写:Cookie。值写cookie的内容。
   8、jmeter参数化
   即参数的value可以通过其它方式自动变化。而不是一成不变。
        1、【选项】-【函数助手对话框】。可选择__Random:取一个范围里的随机的一个数。_time等。
   9、要想某个参数的value从一个文件中一个一个的取value.
         1、需要右击接口,点击【添加】-【配置元件】-【CSV-Data-Set-Config]。在filename中输入文件绝对路径如:/Users/liuchang/Desktop/www.txt
         2、该参数的value名字填入: ${文件名称}  如:${www.txt}
   10、关联
       从上一个测试的接口里获取结果,传递到下一个接口。
       1、两个接口在同一个线程组。贡献数据的接口要在上面先执行。
       2、步骤 1、右击上一个接口,点击【添加】-【后置处理器】-【jp@jc-JSON Path Extractor】。在name中输入变量的名字(自己命名)、在Expression中输入$.响应数据的头.响应数据的key。示例:$.login_info.userId
       重复2步骤,有几个key就得重复几次。
       3、在下一个接口的参数的value中输入${变量的名字}。
    
    其它注意事项:
          1、服务器名称不用输http:// 。直接输地址或ip 如:api.nnzhp.cn。路径直接输路径。如:/api/user/login
          1、https请求时,要在协议中输入https
          2、有时中文乱码。可在connect-encoding中输入:utf-8
          3、json请求点击【body Data】;文件上传类型的接口 选择【file upload】。添加完文件别忘了输入参数名:file  。一般都是parameters。

猜你喜欢

转载自blog.csdn.net/liuchanggege/article/details/83720791
今日推荐