前言:
本文涉及到unittest单元测试框架、BSTestRunner扩展文件、requests模块、time等模块的应用,利用python语言实现以接口为测试对象,执行用例封装,通过BSTestRunner来输出测试报告的整体思想;
- API信息:http://t.weather.sojson.com/api/weather/city/city_code
- 本文测试api:http://t.weather.sojson.com/api/weather/city/101210101
- 接口请求方式:get,接口入参:city_code
备注:文中涉及的API为又拍云提供的免费接口,尽量不要做性能方面的测试,请求量过大可能会导致ip被封;
一、测试用例设计
1、基本逻辑:
a、设计不同的测试场景
b、使用不同的断言判断是否与预期一致
c、将所有的请求结果汇总以html形式输出测试报告
2、测试用例
场景 |
请求api |
预期结果 |
正常入参 |
http://t.weather.sojson.com/api/weather/city/101210101 |
"status":“200” |
异常入参 |
http://t.weather.sojson.com/api/weather/city/cdy |
"status":“404” |
参数缺省 |
"status":“404” |
三、代码实现
准备工作:pycharm中新建testcase文件夹,testcase文件夹下新建reports文件夹与test_wt.py文件
1、test_wt.py文件
导入需要的模块
# -*- coding: utf-8 -*-
import unittest #引入unittest模块
import requests #导入request库
import time #time模块
from time import sleep