我想既可以生成HTMLTestRunner测试报告,又可以在命令窗口print出文字来知晓当前脚本运行到具体哪一步。
可是没使用HTMLTestRunner生成报告的时候可以在命令窗口内打印print的内容,如下:
用HTMLTestRunner生成报告的时候,就不可以在命令窗口内打印print的内容,直接报错E了.如下:
该怎么解决呢?
我的代码:
!/usr/bin/env python -u
-- coding:utf-8 --
import uiautomator2 as u2
import time
import unittest
import os
import HTMLTestRunner
from datetime import datetime
from time import sleep
class LoginAndroidTests(unittest.TestCase):
def shangjiguanliceshi(self):#商机管理测试
print(u"\t准备点击商机管理操作:")
time.sleep(1)
if driver(className="android.widget.TextView",packageName="com.tydic.phone.tray",text="商机管理").exists: driver(className="android.widget.TextView",packageName="com.tydic.phone.tray",text="商机管理").click()
print(u"\t\t点击商机管理操作成功!")
else:
print(u"\t\t点击商机管理操作失败!")
time.sleep(6)
print(u"\t准备我挖掘的商机字样识别操作:")
time.sleep(1)
if driver(className="android.widget.TextView",packageName="com.tydic.phone.tray",text="我挖掘的商机").exists:
print(u"\t\t我挖掘的商机字样识别操作成功!")
else:
print(u"\t\t我挖掘的商机字样识别操作失败!")
time.sleep(3)
print(u"\t准备商机管理返回首页操作:")
time.sleep(1)
if driver(className="android.widget.ImageView",packageName="com.tydic.phone.tray",resourceId='com.crm.ctcc.huaxiao:id/iv_back').exists:
driver(className="android.widget.ImageView",packageName="com.tydic.phone.tray",resourceId='com.crm.ctcc.huaxiao:id/iv_back').click()
print(u"\t\t商机管理返回首页操作成功!")
else:
print(u"\t\t商机管理返回首页操作失败!")
time.sleep(3)
def test_a(self):
global driver
driver = u2.connect('192.168.8.202')
driver.screen_on()#打开屏幕
print(u"\n测试开启!当前测试次数:",i)
print(u"\n测试开启时间:")
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
self.shangjiguanliceshi() #商机管理测试
print(u"\n测试结束!成功次数:",i)
print(u"\n测试结束时间:")
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
if name == '__main__':
test_unit = unittest.TestSuite()
test_unit.addTest(LoginAndroidTests("test_a"))
now=time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime())
fp=open(now+"result.html",'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=u"测试报告",description=u"测试结果详情:")
runner.run(test_unit)