接口测试过程中,我们需要对发送出去的请求所返回的内容做响应的断言,在返回内容中添加检查点来来判断接口调用是否成功。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import unittest
import requests
#定义简书的主地址
host = 'http://www.jianshu.com'
#定义一个HomePage类,这个类继承于unittest下的TestCase
class HomePage(unittest.TestCase):
def setUp(self):
print('开始测试,在这里做环境初始化')
# @classmethod
def tearDown(self):
print('测试结束,在这里做数据还原')
def test_case_01(self):
#访问安小龙首页
str_main = '/u/'
par = 'e62d9afafd52'
test_url = host + str_main + par
response = requests.get(test_url)
result = response.text
print (test_url)
print ('case1_run')
# print(result)
#这里使用assertIn方法断言,判断result中是否包含关键词centos7
self.assertIn('centos7',result,msg='断言失败')
'''
以下是常用的一些断言方法
1.assertEqual(self, first, second, msg=None)
--判断两个参数相等:first == second
2.assertNotEqual(self, first, second, msg=None)
--判断两个参数不相等:first != second
3.assertIn(self, member, container, msg=None)
--判断是字符串是否包含:member in container
4.assertNotIn(self, member, container, msg=None)
--判断是字符串是否不包含:member not in container
5.assertTrue(self, expr, msg=None)
--判断是否为真:expr is True
6.assertFalse(self, expr, msg=None)
--判断是否为假:expr is False
7.assertIsNone(self, obj, msg=None)
--判断是否为None:obj is None
8.assertIsNotNone(self, obj, msg=None)
--判断是否不为None:obj is not None
'''
if __name__ == '__main__':
unittest.main()
在server端开发的过程中基本都会明确的定义各种响应类型对应的状态关键字,对于传递简单数据的接口而言,assert提供的方法完全足够使用,但是需要注意的是尽量不要使用asset断言中文,跨平台执行过程中容易出现编码问题。
为了更好的掌握unittest提供的各种断言方法,我们可以进入到源码查看以assert开头的各种断言方法的实现过程