测试工程师之接口测试

接口

  1. 项目内部接口
  2. 项目外部接口
  • 软件接口、服务器接口
  • 硬件接口
  1. Restful风格的URI
  • Restful中每个资源都有URI(统一资源顶定位符)标识
  • 统一接口
  • 客户端通过GET/POST/PUT/DELETE等http方法对资源进行增删改查操作
  • 无状态

HTTP协议详解

  1. 支持客户端/服务器模式
  2. 客户向服务器请求时,只需传送请求方法和 路径
  3. HTTP允许传送任何类型的数据 对象
  4. 每次连接只处理一个请求
  5. 无状态协议
  • URL
    • http://host[":"port][abs_path]
  • 请求
    • 请求行
    • 消息报头
    • 响应行
  • 响应
    • 状态行
    • 消息报头
    • 响应实体
200 OK      //客户端请求成功
400 Bad Request  //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden  //服务器收到请求,但是拒绝提供服务
404 Not Found  //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

接口测试

# get请求
# 导包
import requests
# 获取请求地址
url = 'http://apis.juhe.cn/simpleWeather/query'
# 获取请求参数
para = {'city': '杭州', 'key': '221ec2c9d854d2859310ea808cb760fd'}
# 发送get请求
r = requests.get(url)
# 获取响应数据
print(r.status_code)
print(r.json())

获取excel表数据:

# 导包
import unittest
from Commonlib.ReadExc import Read_Ex
class Test_Add(unittest.TestCase):
    def setUp(self):
        print("开始")
    def tearDown(self):
        print("结束")

    def test01(self):
        r =Read_Ex()
        data = r.read_excel()
        for i in data:
            self.assertEqual(int(i['a'])+int(i['b']),int(i['c']))
        # a = 1
        # b = 1
        # self.assertEqual(2,a+b)


if __name__ == '__main__':
    unittest.main()
import requests
import unittest
from Commonlib.ReadExc import Read_Ex
class Test_Tq(unittest.TestCase):
    def setUp(self):
        print("开始")
    def tearDown(self):
        print("结束")

    def test01(self):

        res1 = Read_Ex()
        data = res1.read_excel()
        for i in data:
            #接口地址
            url ="http://v.juhe.cn/weather/index"
            # 构造数据
            para ={"cityname":i["cityname"],"key":i["key"]}
            res = requests.get(url,params=para)
            r = res.json()
            # r["reason"]
            # self.assertEqual(r["reason"],"查询成功!")

            self.assertEqual(r["error_code"],int(i["exp"]))


if __name__ =='__main__':
    unittest.main()




jmeter接口自动化

  1. 安装Java
  2. 安装jmeter
  • 添加‘线程组’
  • 添加‘HTTP请求’
  • 添加‘查看结果树’
  • 添加‘响应断言’
  • 添加‘断言结果’
    ----正则表达式提取器:
    – 内容:左右边界的内容提取
    – 模板:一个参数,$1$;两个参数,$2$;n个参数,$n$
    – 匹配:0,随机取;1,取第一个…n取第n个;-1,取全部
    – 缺省值:数据为空,给默认值

接口测试导图

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值