kavinhuang 发表于 2017-1-16 18:14:06

不同的.py文件写的测试用例,用htmltestrunner 执行,print信息不会打印出来

本帖最后由 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

kavinhuang 发表于 2017-1-20 13:27:47

没人回复 蓝瘦香菇

kavinhuang 发表于 2017-1-20 13:27:55

自己顶

cui_ 发表于 2017-2-17 10:19:10

汉字前面是不是需要加上u
页: [1]
查看完整版本: 不同的.py文件写的测试用例,用htmltestrunner 执行,print信息不会打印出来