本文介绍把截图类方法封装到BasePage.py文件里,这个文件是在前面Selenium方法二次封装文章里创建的,具体代码请到前面这篇里找。我们截图类写死了把截图图片保存到根目录下的Screenshots文件夹里,图片名称是当前系统时间,图片后缀名是png。
新的BasePage.py内容如下:
1# coding=utf-8 2import os 3import time 4 5from test.logger import Logger 6 7mylog = Logger(logger='BasePage').getlog() 8class BasePage(object): 9""" 10主要是把常用的几个Selenium方法封装到BasePage这个类,我们这里演示以下几个方法 11back() 12forward() 13get() 14quit() 15""" 16 17def __init__(self, driver): 18""" 19写一个构造函数,有一个参数driver 20:param driver: 21""" 22self.driver = driver 23 24def back(self): 25""" 26浏览器后退按钮 27:param none: 28""" 29self.driver.back() 30 31def forward(self): 32""" 33浏览器前进按钮 34:param none: 35""" 36self.driver.forward() 37 38def open_url(self, url): 39""" 40打开url站点 41:param url: 42""" 43self.driver.get(url) 44 45def quit_browser(self): 46""" 47关闭并停止浏览器服务 48:param none: 49""" 50self.driver.quit() 51 52def take_screenshot(self): 53""" 54截图并保存在根目录下的Screenshots文件夹下 55:param none: 56""" 57file_path = os.path.dirname(os.getcwd()) + '/Screenshots/' 58rq = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time())) 59screen_name = file_path + rq + '.png' 60try : 61self.driver.get_screenshot_as_file(screen_name) 62mylog.info("开始截图并保存") 63 64except Exception as e: 65mylog.error("出现异常",format(e))

主要看最后一个截图类方法的封装。
测试类相关代码如下:
1# coding=utf-8 2import time 3from selenium import webdriver 4 5from test.basepage import BasePage 6 7 8class TestScreenshot(object): 9driver = webdriver.Chrome() 10driver.maximize_window() 11driver.implicitly_wait(10) 12basepage = BasePage(driver) 13 14def test_take_screen(self): 15self.basepage.open_url("https://www.baidu.com") 16time.sleep(1) 17self.basepage.take_screenshot() 18self.basepage.quit_browser() 19 20test = TestScreenshot() 21test.test_take_screen()
运行后,可以在根目录下Screenshots文件夹里找到百度首页截图。
本文就介绍了截图类方法添加到BasePage里,介绍了如何保存到根目录下的Screenshots文件夹。
小枫叮嘱读者多敲代码,真枪实弹地实践测试,我也是希望大家都掌握我每天分享的知识点。(海量免费学习资料,软件测试交流:1140267353 群,还会有同行一起技术交流)
上一篇 Python+Selenium中级篇之6-Python自定义封装一个简单的Log类
下一篇
以上仅供参考,希望对你有所帮助!
点个关注不迷路
小枫文章整理不易,欢迎各位朋友点赞关注