|
本帖最后由 kavinhuang 于 2017-1-20 11:22 编辑
用例写在不同的.py文件用htmltestrunner 执行测试用例,确定都有执行.但是py文件里面print语句不会打印输出,这样没办法监控输出.
我在main.py里面把测试用例创建成testsuit,然后直接ruan main.py
#main.py的代码如下
# -*- coding:utf-8 -*-
from HTMLTestRunner import HTMLTestRunner
import time
import os
import unittest
import sys
reload(sys)
sys.setdefaultencoding('utf8')
if __name__ == '__main__':
BASE_DIR = os.path.dirname(__file__) #获取当前文件夹的绝对路径
test_case_dir=os.path.join(BASE_DIR, 'testcase')#获取测试用例存放路径
test_report_dir=os.path.join(BASE_DIR, 'test_report')#获取测试报告存放路径
print(test_report_dir)
discover=unittest.defaultTestLoader.discover(test_case_dir,pattern='test*.py')
# discover=unittest.defaultTestLoader.discover(test_case_dir,pattern='test.py')
now=time.strftime("%Y-%m-%d %H_%M_%S")
filename=test_report_dir+'/'+now+"result.html"
fp = open(filename,'wb')
runner = HTMLTestRunner(stream=fp,title='审批接口自动化测试报告',description='用例执行情况:')
runner.run(discover)
fp.close()
#其中一个测试用例的代码如下
# -*- coding:utf-8 -*-
import unittest
from interface_test.config_httprequest import ConfigHttp
class Testcase1(unittest.TestCase):
def test_flow_mine_set(self):
u"""我的流程测试"""
url = 'http://mg.test.com/mgw/approve/m1/flows/mine'
data ={ "flowIds": []}
res=ConfigHttp.POST(ConfigHttp(),url, data)
print(res)#执行的时候不会打印res???为什么???
self.assertEqual(res['meta']['code'],0, msg='返回code不等于0')
if __name__ == '__main__':
unittest.main()
下面是执行结果:
C:\Python35\python.exe F:/python3/interface_test/main.py
...<_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
Time Elapsed: 0:00:01.200069
<_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>#这个不知道是什么错误信息???
进程已结束,退出代码0
|
|