本文介绍如何封装一个保存截图的方法
我们需要使用get_windows_img()方法,首先我们需要新建一个img文件包用来存放截图,
再新建一个method.py文件将方法封装,最后再新建test_baidu.py文件,编写测试用例实现截图百度首页test_baidu.py
层次结构如下:
method.py代码如下:
import time
import os.path
class Method(object):
def __init__(self, driver):
self.driver = driver
# 保存截图
def get_windows_img(self):
file_path = os.path.dirname(os.path.abspath('.')) + '/img/' #设置截图保存路径
rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time())) #获取当前系统时间
img_name = file_path + rq + '.png' #设置截图名称格式
try:
self.driver.get_screenshot_as_file(img_name) #指定截图存放路径和名称
print("已将截图保存到文件夹/img/img")
except NameError as e:
print("截图保存失败! %s" % e)
self.get_windows_img()
接着我们写个脚本调用上面封装的方法实现截图百度首页,test_baidu.py代码如下:
import unittest
from selenium import webdriver
from com.method import Method
class BaiDu_Search(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
url = 'http://www.baidu.com/'
self.driver.get(url)
def tearDown(self):
self.driver.quit()
def test_search(self):
Method.get_windows_img(self) # 调用Method截图方法
if __name__ == '__main__':
unittest.main()
运行结果:
已将截图保存到文件夹/img
Ran 1 test in 9.317s
OK
Process finished with exit code 0