Python 接口测试实践之用例封装及测试报告生成

发表于:2020-5-21 10:15

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:桃子    来源:51Testing软件测试网原创

  今天以天气API接口为例,使用python语言实现用例编写、封装及报告生成功能
  API信息:
  天气API:http://www.51testing.com/html/88/n-4465288.html
  URL:http://t.weather.sojson.com/api/weather/city/101030100
  请求方式:get
  参数:city 城市名称
  一 、代码实现查询北京的天气信息
  步骤:
  1、新建 weather_api_test.py文件
  代码实现
   #-*-coding:GBK -*-
  import requests
  from pip._vendor.requests.models import Response
  url='http://t.weather.sojson.com/api/weather/city/101030100' 
  r=requests.get(url)
  response_data=r.json()
  print(r.text)
  返回结果:
  二、用例集成到Unittest
  1、针对不同的参数场景进行测试
  2、设置断言判断执行结果是否符合预期
  实现原理:
  首先导入requests 库、unitest 、时间库
  其次,创建天气class类
  然后,分别创建4个函数,分别实现存放路径、正常传参、异常传参、缺省参数功能
  3、用例设计
  代码实现:
   新建 weather_api_unitest.py文件
#-*-coding:GBK -*-
import unittest
import requests
from time import sleep
class weathertest(unittest.TestCase):
    def setUp(self):
        self.url='http://t.weather.sojson.com/api/weather/city/101030100'
        self.url_error='http://t.weather.sojson.com/api/weather/city/101030101'
        self.url_no='http://t.weather.sojson.com/api/weather/city'
    #参数正常
    def test_weather_tianjing(self):
        r=requests.get(self.url)
        result=r.json()
        self.assertEqual(result['status'],200)
        self.assertEqual(result['message'],'success感谢又拍云(upyun.com)提供CDN赞助')
        sleep(3)
    #参数异常
    def test_weather_param_error(self):
        r=requests.get(self.url_error) 
        result=r.json()
        self.assertEqual(result['status'],400)
        self.assertEqual(result['message'],'获取失败')
        sleep(3)
    #参数缺省 
    def test_weather_no_param(self):
        r=requests.get(self.url_no) 
        result=r.json()
        self.assertEqual(result['status'],404)
        self.assertEqual(result['message'],'Request resource not found.')
        sleep(3)              
    if __name__=='_main_':
        unittest.main()



版权声明:本文出自《51测试天地》第五十七期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号