自动化测试常用脚本-截图
from BeautifulReport import BeautifulReport as BR
from selenium import webdriver
'''截图'''
def screenshot(self, img_name):
"""
:param img_name: 图片的名字
:return: 以列表形式返回图片的绝对路径和名字
"""
# HTML_IMG_TEMPLATE 是保存图片的html模板,设置了图片的大小。其实就是将图片嵌入到html中
HTML_IMG_TEMPLATE = """
<a href="data:image/png;base64, {}">
<img src="data:image/png;base64, {}" width="800px" height="500px"/>
</a>
<br></br>
"""
img_path = self.save_img(img_name) # 调用保存截图的方法
data = BR.img2base(img_path[0], img_path[1] + '.png') # img_path 是列表,保存了图片的路径和名称。img2base() 方法将图片转换为base64格式
print(HTML_IMG_TEMPLATE.format(data, data))
'''保存截图'''
def save_img(self, img_name):
"""
传入一个图片名称:img_name, 并存储到默认的文件路径下
:param img_name: 图片的名字
:return: 以列表形式返回图片的绝对路径和名字
"""
path = os.path.dirname(os.path.dirname(__file__)) + "\\img" # 获取img目录的路径,项目提前建好 img 目录
self.driver.get_screenshot_as_file('{}\{}.png'.format(os.path.abspath(path), img_name))
return [path, img_name]
"""
以上两个函数定义完后,在实际操作中,若要在当系统报错时进行截图并嵌在html报告中,在对应的测试用例中加上截图装饰器即可
进入add_test_img()源码中,就有解释
def add_test_img(*pargs):
"""
接受若干个图片元素, 并展示在测试报告中
:param pargs:
:return:
"""
"""
@BR.add_test_img()
def test_demo(self):
pass
您对以上内容有何建议或意见,请写下来告诉我,谢谢!!!