接口自动化总结

1. 接口调用方式

编号接口类型调用方式举例说明
1getrequests.get(url,headers,其他)requests.get(url_vblog_get,headers = {‘Cookie’:‘adminUserName=admin; SESSION=ZDBkYmRmOWQtO’} )
2postrequests.post(url,data/json,headers,其他)requests.post(url=url,data={‘username’:‘sang’,‘password’:‘123’})
3putrequests.put(url,data/json,headers,其他)requests.put(url,data={‘id’:‘56’,‘cateName’:‘request011001’},headers= {‘Cookie’:cookies})
4deleterequests.delete(url,headers)requests.delete(url,headers = {‘Cookie’:cookies})

2. 参数说明

编号参数说明举例
1url必填项,传入urlurl = url_toutiao
2data传入请求数据,表单类型时使用(x-www-form),传入的参数需要处理成字典类型data_post={‘username’:‘sang’,‘password’:‘123’}
3json传入请求数据,json类型时使用-
4headers传入cookie,需要使用cookie时使用vblog_headers = {‘Cookie’:‘adminUserName=admin; SESSION=ZDBkYmRmOWQtO’}
5其他比如传入超时时间timeout=30

3. 各属性获取

编号获取属性方法举例
1url.urlprint(rel_vblog_get.url)
2服务器响应的内容.textprint(rel_vblog_get.text)
3编码格式.encodingprint(rel_vblog_get.encoding)
4json格式.json()print(rel_vblog_get.json())
5响应状态码.status_codeprint(rel_vblog_get.status_code)
6cookie.cookiesprint(rel_vblog_get.cookies)

4. 获取单个cookie

获取cookie的步骤:

编号步骤实现方式返回内容
1获取接口的cookie jarcookies = result.cookiescookie jar
2获取cookie的字典形式dict_cookie = requests.utils.dict_from_cookiejar(cookies)从cookiejar里面返回一个字典
3拼接得到需要传入的cookie形式finally_cookie = ‘JSESSIONID=’+dict_cookie[‘JSESSIONID’]返回需要传入的cookie形式

5. 批量获取cookie

(1)准备工作:准备一个用户信息文件,最好是CSV格式,里面放有批量的用户信息,比如100个用户名和密码

(2)初始化操作:以覆盖写(w)的方式,打开一个csv文件,写入一个空字符串。

(3)读取预先准备好的用户信息文件,获得批量的用户名和密码

(4)调用获取cookie的函数,得到批量的cookie

(5)将获取到的批量cookie以追加写(a)的方式写入步骤2中已被清空的文件

6. 断言

  • 接口自动化核心在于断言,如果请求接口后直接有明显的返回值,比如会返回“成功”、用户名等信息时,可以直接断言返回结果

  • 如果返回值中没有明确信息,则需要重新查询(get)一下,看页面中是否存在我们想要的元素。一般有3种情况:

    ①新增后查询,看是否存在新增的信息
    ②修改后查询,看是否已正确修改
    ③删除后查询,看是否真的被删除

  • 为了避免出现栏目中最新的值不是新添加的或本来就已经存在这样的值,可以有2种方法:

    ①程序写完之后实现闭环操作,即新增-修改-删除
    ②在新增的栏目后面加精确到秒的时间,时间永远不会重复

6. 实际场景分析

编号测试场景思路
1新增栏目接口新增栏目(post)->查询栏目(get)->断言
2编辑栏目接口编辑栏目(put)->查询栏目(get)->断言

6. 接口自动化测试框架

  • 接口自动化没有setup、teardown,直接调用接口即可
  • 接口自动化的核心在于断言
编号文件夹存放内容
1case放自动化用例
2public放公共模块封装
3report放测试报告
4testrunner.py批量运行case里面的所有测试用例
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓晓白的软件测试进阶之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值