51Testing软件测试论坛
标题:
不同的.py文件写的测试用例,用htmltestrunner 执行,print信息不会打印出来
[打印本页]
作者:
kavinhuang
时间:
2017-1-16 18:14
标题:
不同的.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
没人回复 蓝瘦香菇
作者:
kavinhuang
时间:
2017-1-20 13:27
自己顶
作者:
cui_
时间:
2017-2-17 10:19
汉字前面是不是需要加上u
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2