自动化第一周学习

这是我第一次开始正式的了解自动化,之前只是听说,并没有真正的了解过,以下是第一天学习的内容。

 

1、什么是接口

     之前接触的接口,一直是程序部的,接触到的数据类的接口比较多,比如从GP库把数据传送到ORACLE库中,判断传输的数据对不对,这种就是属于程序内部的接口测试。 

     还有一种是外部的接口测试,比如  腾讯QQ,要调用天气,这个就是属于外部接口

2、GET和POST请求

      get和post 区别  

    1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

 如果是get请求的话,不需要用工具,传参数的话,需要在url后面加上问好,?xxx=xxx&xx=xxx,多个参数的话,就用&来连接

      post请求需要用到工具操作,常用工具为 Postman

3、PostMan测试接口工具

      特点:
       创建 + 测试:创建和发送任何的HTTP请求,请求可以保存到历史中再次执行
       Organize:使用Postman Collections为更有效的测试及集成工作流管理和组织APIs
       document:依据你创建的Clollections自动生成API文档,并将其发布成规范的格式
 

       postman界面分为两部分:左边的sidebar 右边的request builder:快速创建几乎所有的请求

001
001

 

  • HTTP请求的4部分:URL,请求的method,headers,body。
  • URL

首先需要设置的就是URL

 

 

注意:如果在输入参数时,没有自动decode到URL中,则可以选中参数右键后,选择EncodeURIComponent(一般都会自动填充的):

 

同样也可以decode,将参数生成dictionary的形式(一般都会自动填充的):

 

有的URL中有path变量,postman可以自动提取该path变量为一个key

 

 

点击headers toggle:

 

输入key-value时,会有自动提示的下拉面板:

 

有些headers和cookies是保密的,如:

1.Accept-Charset
2.Accept-Encoding 
3.Access-Control-Request-Headers
4.Access-Control-Request-Method
5.Connection
6.Content-Length
7.Cookie
8.Cookie 2
9.Content-Transfer-Encoding
10.Date
11.Expect
12.Host
13.Keep-Alive
14.Origin
15.Referer
16.TE
17.Trailer
18.Transfer-Encoding
19.Upgrade
20.User-Agent
21.Via

 

  • Method


 
  • Request body


 
  • 不同的body editor 分为4个区域,根据body类型有不同的控制。

     
  • mutipart/form-data是网页表单用来传输数据的默认格式。可以模拟填写表单,并且提交表单。

 

 

可以上传一个文件作为key的value提交(如上传文件)。但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件。

 
  • 2 urlencoded

同前面一样,注意,你不能上传文件通过这个编码模式。
该模式和表单模式会容易混淆。urlencoded中的key-value会写入URL,form-data模式的key-value不明显写入URL,而是直接提交。

  • 3 raw

 

 

raw request可以包含任何东西。所有填写的text都会随着请求发送。

 
  • 4 binary

image, audio or video files.text files 。 也不能保存历史,每次选择文件,提交。



 4、自动化测试案例

     包括:通过性验证、参数组合、接口安全、异常验证、根据业务逻辑设计测试用例等

 

5、JMeter测试工具

  Jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便。它也是跨平台的在linux、windows、macos上都可以使用。

 postman 能做的,jmeter都可以做

创建一个线程组

创建一个http请求

 

 查看运行结果

 

posted @ 2017-09-14 23:06  mbk20170912  阅读(194)  评论(0编辑  收藏  举报