接口自动化测试

1、为啥不用postman等工具去实现自动化测试,而需要自己写代码做自动化测试?

标准化工具

缺点:流程十分局限,且存在安全隐患,不能根据实际需求增加功能测试,不利于管理(分模块)。

自己写代码

优点:需手动执行观察接口结果,使用编程语言做自动化,可以实现自动执行+发送通知+定制化流程

缺点:学习成本高

2、应用场景:节约人力成本,提高生产力,回归测试;巡检:实时监控项目

3、类型

接口自动化测试(api自动化):面向接口、接口自动化优先于ui自动化

ui自动化测试:web自动化测试、app自动化测试、小程序自动化测试

4、原理:把python的各种第三方包组合使用

二、ruquests

1、http请求:

requests.get()、requests.post()、requests.put()、requests.delect()

ctrl+/ 全部注释

代码如下:

import requests

u ="http://192.168.0.34:9006/#/login"

res = requests.get(url=u)  #调用requests第三包的get方法,指定url地址的方式请求

print(res.status_code)  #打印http状态码,结果是200

print(res.json())  #打印返回值,结果是请求后的返回值

2、断言:对整个结果进行判断

语句 assert+条件,判断状态码(正确的状态码),判断返回值(使用message判断)、jsonpath取值 pip install jsonpath命令安装

3、接口自动化测试的步骤

(1)构造请求 (2)断言:状态码和返回值message (3)数据库校验:

查询、把返回值到数据库里面查询一遍,工作中一般忽略做查询接口校验

增加、新增信息等,校验参数是否正确插入到数据库中

修改、修改信息,验证修改参数是否修改到数据库中

删除、删除用户,逻辑删除,软删除,数据库中status字段由0改成1 ,不是delect物理删除

三、pymsql

1、python操作mysql数据库的,可理解为python版的navicat

安装 pip3 install pymysql

解包:快速把元组/数组/字典变成参数的形式

def add(s1,s2):

     print(s1/s2)

#add(2,2)

a = (2,2)

# add(a[0],a[1])

#1.元组和list的解包

add(*a) #相当于把元组/列表的括号去除,不需要通过下标去取

2.字典的解包

def add1(s1=2,s2=2):

    print(s1+s2)

add1()

add1(s1=2,s2=2) #指定参数传参,关键字参数传参

a ={"s1":100,"s2":200}

add1(**a)# **a相当于add1(s1=100,s2=200)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容