1、每个接口用例为一个.py文件。内容如下:
getAdMakeMoneyList文件:
# coding=utf-8
import xlrd
import requests
import unittest
from time import ctime
class getAdMakeMoneyList1(unittest.TestCase):
def setUp(self):
data=xlrd.open_workbook('D:\\test.xlsx')
self.table=data.sheets()[0]
self.nrows=self.table.nrows
self. url='http://**********'
self.header={'Content-Type' : 'application/xml','charset':'UTF-8'}
def test_post(self):
for i in range(self.nrows):
postdata=self.table.cell(i,0).value
yqdata=self.table.cell(i,1).value
response=requests.post(self.url,data=postdata,headers=self.header)
# print response.text
# print yqdata
try:
self.assertIn(yqdata,response.text,msg=u'用例错误,与预期结果不一致')
except AssertionError,e:
print e.message
def tearDown(self):
pass
另一文件此处不粘贴了
在单独的.py文件中调用,用来实现用例与执行进行分离,方便管理
具体执行如下:
import unittest
import getAdMakeMoneyList
from getAdQuestionList import getAdQuestionList1
from getAdMakeMoneyList import getAdMakeMoneyList1
class maintest(unittest.TestCase):
def setUp(self):
pass
def tearDown(self):
quit()
if __name__ == '__main__':
suite=unittest.TestSuite()
suite.addTest(getAdMakeMoneyList)
suite.addTest(getAdQuestionList)
unittest.TextTestRunner(verbosity=2).run(suite)
说明:必须使用from .py的文件中导入具体的用例(用例为classname(unittest.TestCase))import 用例的文件名
加载时,addTest内名字填模块名称或者具体测试的classname都可以
不使用from** import导入,总是提示找不到测试组件