服务器之家

服务器之家 > 正文

python编写接口测试文档(以豆瓣搜索为例)

时间:2021-12-11 11:41     来源/作者:测试baby

前言

很多人会使用postman工具,或者熟悉python,但不一定会使用python来编写测试用例脚本,postman里面可以完整的将python代码复制出来。

(以下所有内容以豆瓣网站搜索功能为例子)

一、postman接口用例转换为python测试用例

打开postman,点击右侧的</>图标,页面右边会显示脚本,顶部修改导出的语言,这边我使用的是python-reqyests

python编写接口测试文档(以豆瓣搜索为例)

复制脚本,在pycharm中打开即可,在导入使用之前如果没有reuqests库,可能会报错,我们需要安装reuqests库。

cmd命令窗口输入:pip install requests

导出后的脚本格式如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import requests
 
url = "<https://www.douban.com/search?">
 
payload={'q': '三体'}
files=[
 
]
headers = {
  'cookie': 'bid=5bbvkukabvy'
}
 
response = requests.request("post", url, headers=headers, data=payload, files=files)
 
print(response.text)

二、转换为pytest测试用例

1.下面就是转成pytest的测试用例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import requests
 
class testdouban:
 
    def test_douban(self):
        url = "<https://www.douban.com/search?">
        payload = {'q': '三体'}
        files = []
        headers = {
          'cookie': 'bid=5bbvkukabvy'
        }
        response = requests.request("post", url, headers=headers, data=payload, files=files)
        print(response.text)

三、封装post和get方法

在一个项目中,根路由的路径是一样的,只是不同功能对应的具体的接口不一致,且post和get是目前测试用例中比较通用的方法,所以可以将根路由、post和get方法封装成一个通用的类,后面直接调用即可。

1.common.py—公共类封装

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import requests
 
class common:
    def __init__(self):
        # 豆瓣根路由
        self.url_root = "<https://www.douban.com>"
 
    # get请求,uri是接口具体地址,params是get请求的参数,如果没有,默认为空
    def get(self, uri, params=''):
        # 拼凑访问地址
        url = self.url_root + uri + params
        # 通过get请求访问对应地址
        response = requests.get(url)
        # 返回request的response结果,类型为requests的response类型
        return response
 
    # post请求,uri是接口具体地址,params是post请求的参数,如果没有,默认为空
    def post(self, uri, params=''):
        # 拼凑访问地址
        url = self.url_root + uri
        # 有参数,则访问对应的url,并赋值给默认参数data
        if len(params) > 0:
            response = requests.post(url, data=params)
        # 无参数,只需要访问对应的url即可
        else:
            response = requests.post(url)
        # 返回request的response结果,类型为requests的response类型
        return response

2.具体接口测试用例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import requests
 
from common.common import common
 
class testdouban:
    def setup(self):
        self.com = common()
 
    def test_douban(self):
        uri = "/search?"
        payload = {'q': '三体'}
        response = self.com.post(uri, payload)
# 由于file不需要,就将file删除了,至于hearder是否要添加可根据需求来定

执行结果如下:

python编写接口测试文档(以豆瓣搜索为例)

总结

到此这篇关于python编写接口测试文档的文章就介绍到这了,更多相关python编写接口测试文档内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/m0_56736369/article/details/118523109

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部