selenium+unittest+parameterized+BeautifulReport 升级到Python 3.7.4 代码修改记录下
chromedriver 下载地址:http://npm.taobao.org/mirrors/chromedriver/
parameterized+BeautifulReport 同时使用,截图会有覆盖或异常的情况,
修改BeautifulReport-0.1.2版本路径
C:\Python374\Lib\site-packages\BeautifulReport\BeautifulReport.py
修改1 时间显示
原 '{0:.3} s’修改为 ‘{0:.3f} s’ ,当大于100s时不显示科学计数法
修改2 图片保存名称
def add_test_img(*pargs):
"""
接受若干个图片元素, 并展示在测试报告中
:param pargs:
:return:
"""
def _wrap(func):
@wraps(func)
def __wrap(*args, **kwargs):
img_path = os.path.abspath('{}'.format(BeautifulReport.img_path))
try:
result = func(*args, **kwargs)
except Exception:
if 'save_img' in dir(args[0]):
save_img = getattr(args[0], 'save_img')
#save_img(func.__name__)
name=time.strftime('%Y%m%d%H%M%S')
save_img(func.__name__+name)
data = BeautifulReport.img2base(img_path, func.__name__+name+ '.png')
#data = BeautifulReport.img2base(img_path, pargs[0] + '.png')
print(HTML_IMG_TEMPLATE.format(data, data))
sys.exit(0)
print('<br></br>')
if len(pargs) > 1:
for parg in pargs:
print(parg + ':')
data = BeautifulReport.img2base(img_path, parg+args[1]+ '.png')
print(HTML_IMG_TEMPLATE.format(data, data))
return result
if not os.path.exists(img_path +'\\'+pargs[0] + args[1] + '.png'):
return result
data = BeautifulReport.img2base(img_path, pargs[0] + args[1] + '.png')
# data = BeautifulReport.img2base(img_path, pargs[0] + '.png')
print(HTML_IMG_TEMPLATE.format(data, data))
return result
return __wrap
return _wrap
测试异常情况:
测试正常情况:
# -*- coding: utf-8 -*
import sys
#reload(sys)
#sys.setdefaultencoding( "utf-8" )
#import HTMLTestRunner
#from selenium.webdriver.support.ui import WebDriverWait
#from selenium.webdriver.supporthi import expected_conditions as EC
import time,os