本文介绍如何封装一个保存截图的方法 我们需要使用get_windows_img()方法,首先我们需要新建一个img文件包用来存放截图, 再新建一个method.py文件将方法封装,最后再新建test_baidu.py文件,编写测试用例实现截图百度首页test_baidu.py
层次结构如下:
method.py代码如下:
import timeimport os.pathclass 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 unittestfrom selenium import webdriverfrom com.method import Methodclass BaiDu_Search(unittest.TestCase):def setUp(self):self.driver = webdriver.Chrome()url = '/'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()
运行结果:
已将截图保存到文件夹/imgRan 1 test in 9.317sOKProcess finished with exit code 0