博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python接口自动化unittest+HTMLrunner
阅读量:4657 次
发布时间:2019-06-09

本文共 1884 字,大约阅读时间需要 6 分钟。

1、创建一个packpage包

import unittest import requests from time import sleep import HTMLTestRunner # 构造WeatherTest类,继承unittest.TestCase class WeatherTest(unittest.TestCase): # 用例执行前的准备工作 def setUp(self): self.url = 'http://t.weather.sojson.com/api/weather/city' # 定义测试guangzhou天气的方法 def test_weather_handan(self): # 用例方法需要以test开头,便于执行顺利 ''' Case01-正常存在的city_code值 ''' data = { 'city_code':'101091001'} r = requests.get(self.url+'/'+data['city_code']) # 拼接接口URL result = r.json() # 将返回结果转换为json类型 # 设置断言 self.assertEqual(result['status'],200) # 状态码 self.assertEqual(result['message'],'Success !') self.assertEqual(result['cityInfo']['city'],'邯郸市') self.assertEqual(result['cityInfo']['cityId'],'101091001') sleep(3) # 控制请求的间隔时间,防止过快请求而IP受限制 def test_weather_param_error(self): ''' Case02-错误的city_code值 ''' data = { 'city_code':'666abc'} r = requests.get(self.url+'/'+data['city_code']) result = r.json() self.assertEqual(result['message'],'Request resource not found.') self.assertEqual(result['status'],404) sleep(3) def test_weather_param_non_existent(self): ''' Case03-不存在的city_code值 ''' data = { 'city_code':'123456789'} r = requests.get(self.url+'/'+data['city_code']) result = r.json() self.assertEqual(result['message'],'no_city_id') self.assertEqual(result['status'],403) sleep(3) def test_weather_no_param(self): ''' Case04-不传入任何city_code值(空) ''' data = { 'city_code':''} r = requests.get(self.url+'/'+data['city_code']) result = r.json() self.assertEqual(result['message'],'Request resource not found.') self.assertEqual(result['status'],404) sleep(3) # 调试WeatherTest类 if __name__ == '__main__': report_dir = r's.html' re_open=open(report_dir,'wb') suite=unittest.TestLoader().loadTestsFromTestCase(WeatherTest) runner=HTMLTestRunner.HTMLTestRunner( stream=re_open, title=u'天气接口测试报告', description=u'天气接口详情' ) runner.run(suite)

 

 

转载于:https://www.cnblogs.com/Amelia0201/p/10340797.html

你可能感兴趣的文章
1 线性空间
查看>>
VS不显示最近打开的项目
查看>>
DP(动态规划)
查看>>
chkconfig
查看>>
2.抽取代码(BaseActivity)
查看>>
夏天过去了, 姥爷推荐几套来自smashingmagzine的超棒秋天主题壁纸
查看>>
反射的所有api
查看>>
css 定位及遮罩层小技巧
查看>>
[2017.02.23] Java8 函数式编程
查看>>
sprintf 和strcpy 的差别
查看>>
JS中window.event事件使用详解
查看>>
ES6深入学习记录(一)class方法相关
查看>>
C语言对mysql数据库的操作
查看>>
INNO SETUP 获得命令行参数
查看>>
HTML5与CSS3权威指南之CSS3学习记录
查看>>
docker安装部署
查看>>
AVL树、splay树(伸展树)和红黑树比较
查看>>
多媒体音量条显示异常跳动
查看>>
运算符及题目(2017.1.8)
查看>>
ssh自动分发密匙脚本样板
查看>>