Python自动化学习笔记(一)----接口测试基础

1.1 接口基础知识

 1.1.1    Get&post请求

GET和POST请求:

      GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456.

      POST请求是把提交的数据放在HTTP包的Body中.

      get请求可以用浏览器来发送,直接输入URL,post请求需借助工具来发送。

 GET请求和POST请求的区别:

GET使用URL或Cookie传参。而POST将数据放在BODY中。也就是说get请求没有请求体,只有请求头。

get请求没有post安全,因为get把参数都写到url里面

get请求有参数的大小限制,post请求没有大小限制。

get请求一般用来获取数据,像服务端发送数据的时候用post

   个人理解来说,第二点和第三点区别比较勉强,get请求虽然将参数暴露在url中,看起来很不安全,但post请求也并没有好到哪里去,只要抓包,它的参数照样无所遁形,而第三点呢,在 HTTP 协议定义中,没有对GET请求的数据大小限制,所谓的get请求有参数大小限制,不过是浏览器的限制而已。


1.1.2 关于请求体和请求头

HTTP请求报文由3部分组成(请求行+请求头+请求体):

请求头

      header

      你发出去这个请求的额外信息,例如你用什么浏览器发的,你想让服务端给你返回什么样的数据等

      cookie

请求体

      body

      发送给服务端的参数


1.1.3   http状态码

HTTP状态码是用以表示HTTP响应状态的3位数字代码。

每发出一个http请求之后,都会有一个响应,http本身会有一个状态码,来标示这个请求是否成功,常见的状态码有以下几种:

1、200 2开头的都表示这个请求发送成功,200请求已成功,请求所希望的响应头或数据体将随此响应返回。

2、300 3开头的代表重定向,302请求的资源现在临时从不同的 URI 响应请求。301 - 资源(网页等)被永久转移到其它URL

3、400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404 - 请求的资源(网页等)不存在

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

-部分摘自网站:www.besttest.cn

1.1.4    cookiesession

cookie和session被用来跟踪用户的会话 。

cookie是在本地存的键值对,session是在服务端存的键值对

在使用postman和jmeter时,cookie 可以在header发送出去,为键对{'Cookie':’xx=xx,xx=xx,xx=xx'}的格式

 


1.2接口用例设计

1.2.1 测试内容

  通过性验证、接口安全、异常验证(必传非必传、参数类型、入参长度)、业务逻辑

    例如:接口安全关键字段如密码有没有加密 (F12开发者工具-network)

 

1.2.2 用例参考

 

 


1.3 postman请求接口

 1.3.1postman-get示例

 

1.3.2postman-post示例

 

 


 

1.3.3postmant添加cookie

 

 


1.3.4postman使用json格式发送数据

 

 


1.4jmeter请求接口

1.4.1简单的get请求

 

 

 

 

 


1.4.2get请求的两种参数方式

 

 


1.4.3post请求

 

 


1.4.4添加cookie

选中请求-右键-添加-配置元件-HTTP信息头管理器

 

 


1.4.5 jmeter参数化

1.4.5.1 函数助手对话框

选项-函数助手对话框-选择__Random,随机生成一个指定范围的整数,将生成的字符串复制粘贴来使用

 

 

 

1.4.5.2CSV Data Set Config

选中请求-右键-添加-配置元件-CSV Data Set Config

 

 


1.4.6jmeter关联

1.4.6.1json提取

从一个请求的响应结果中提取参数,用于下一个请求

选中请求-右键-添加-后置处理器-jp@gc - JSON Path Extractor(只要有json字样就可以)

 

 

 

引用json提取的值:${sign}

1.4.6.2正则表达式提取

选中请求-右键-添加-后置处理器-jp@gc - 正则表达式提取器

响应报文: { "error_code": 0, "login_info": { "login_time": "20180520170814", "sign": "337ca4cc825302b3a8791ac7f9dc4bc6", "userId": 1 } } 正则表达式提取: "sign": "(.*)"

 

 

引用正则表达式提取的值:${sign}

 


1.4.7响应断言

响应结果:{ "error_code": 0, "login_info": { "login_time": "20181108131056", "sign": "e9cff923a69dbcc96e1b6cd0d26aed58", "userId": 9786 } }

添加断言:选中请求-右键-添加-断言-响应断言

响应结果中若包含sign字符串,则请求通过,不包含sign字符串,则请求失败

 


1.5 Jmeter压测

1.5.1线程组

 

线程组相当于有多个用户,同时去执行相同的一批次任务。每个线程之间都是隔离的,互不影响的。一个线程的执行过程中,操作的变量,不会影响其他线程的变量值。

 

1 默认情况下,测试开始的时候,所有线程就被创建完了。如果勾选了此选项,那么线程只会在合适的需要用到的时候创建。

Ramp-Up Period: 线程启动的时间,如:5个线程,5秒启动时间。那么每秒会启动一个线程。

调度器 如果不想立即执行,可以通过调度器控制测试执行的开始时间和结束时间。

 启动时间:控制测试在某个时间点启动。这个配置会被“启动延迟(秒)”配置覆盖。

结束时间:控制测试执行的结束时间。这个配置会被“持续时间(秒)”配置覆盖。

持续时间(秒):控制测试执行的时间。比如如果你要让用户持续不断登录1个小时,你可以在文本框中填写3600。如果在1小时以内,结束时间已经到达,它将会覆盖结束时间,继续执行。

启动延迟(秒):控制测试多久后启动执行。

 


1.5.2聚合报告

选中请求-右键-添加-监听器-聚合报告

 

 

1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容