python执行脚本时,报… Time Elapsed: 0:00:00.840070
测试代码:
# coding=gbk
import requests
# 引入config配置接口的文件
import config
# 增加单元测试框架 注意 unittest框架只支持test开头的函数体才会执行
import unittest
from time import sleep
import HTMLTestRunner
# 创建一个类型,执行用例的类,继承unittest的testcase类
class TestCase(unittest.TestCase):
# 测试注册接口的函数
def test_register(self):
# 发送post请求 通过config获取URL 和参数
r = requests.post(config.url_register['注册接口'], config.url_register['params'])
# 请求状态码
status = r.status_code
# 对接口的状态进行断言
if status == 200:
print("状态码校验通过")
else:
print("状态码校验不通过")
print(status)
print(r.json())
# 测试登录接口的函数
def test_login(self):
# 因为发送是 GET 请求 参数是跟在接口的后面,所以不用通过字典的形式获取
r = requests.get(config.url_login)
# 请求状态码
status = r.status_code
# 对接口的状态进行断言
if status == 200:
print("状态码校验通过")
else:
print("状态码校验不通过")
print(status)
print(r.json())
# 预期结果 在接口返回后 查看接口返回值里面有没有此值
expected = "111"
if expected in str(r.json()):
print("断言通过")
else:
print("断言不通过")
# 调试TestCase类
if __name__ == '__main__':
print("----------执行----------")
# 定义一个测试容器
# suite = unittest.TestSuite()
#
# # 将测试用例,加入到测试容器中
# suite.addTest(TestCase('test_register'))
# suite.addTest(TestCase('test_login'))
test_dir = './'
suite = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')
# 定义个报告存放的路径,支持相对路径
report_dir = r's.html'
# report_dir = 'D:\Document\pythonDC\pythonProject\实例\report.html'
file_open = open(report_dir, 'wb')
# 定义测试报告 #初始化一个HTMLTestRunner实例对象,用来生成报告
runner = HTMLTestRunner.HTMLTestRunner(stream=file_open, title=u"接口自动化测试报告", description=u"用例测试情况")
# suit = unittest.TestLoader().loadTestsFromTestCase(TestCase)
# 开始执行测试套件
runner.run(suite)
file_open.close()
执行结果:
百度上有说是将HTMLTestRunner.py的631行,
print >> sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime)
修改
sys.stderr.write(‘\nTime Elapsed: %s\n’ % (self.stopTime - self.startTime))
修改了也还是一样,尚未解决