unittest模块可以有效的组织和管理测试用例,python接口自动化基本可以围绕这个框架完成。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import unittest
import requests
#定义简书的主地址
host = '//www.greatytc.com'
#定义一个HomePage类,这个类继承于unittest下的TestCase
class HomePage(unittest.TestCase):
'''
当环境初始化和数据还原只需要执行一次时,用以下代码做初始化
@classmethod
def setUpClass(cls):
print('开始测试,在这里做环境初始化')
@classmethod
def tearDownClass(cls):
print('开始测试,在这里做数据还原')
'''
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)
def test_case_02(self):
#访问博客中一篇文章
str_main = '/p'
par = '/920fa8a9e9a0'
test_url = host + str_main + par
response = requests.get(test_url)
result = response.text
print (test_url)
print ('case2_run')
# print(result)
if __name__ == '__main__':
unittest.main() # unittest.main()是运行主函数,运行后会看到测试结果
在以上示例代码可以看出,首先定义了一个名为HomePage的类,这个类继承于unittest下的TestCase类,在TestCase这个工具类中提供了很多关于测试的方法实现和异常处理,所以就不需要我们自己再单独自己写了,继承过来直接使用,并且在unittest还提供了批量执行这些case的方法。
以上代码运行结果如下:
特别注意:用例名尽量用test开头,这是在模块文档中有明确指导说明的
需要详细学习关于用例组织的内容,可以直接按主Ctrl再点Testcase,就可以查看到其详细的实现过程