• Python+Selenium进阶版(九)- 把截图类方法封装到前面的BasePage.py


      目标:把截图类方法封装到BasePage.py文件里。

      练习场景:百度首页截图

      basepage.py代码:

    # coding = utf-8
    import os
    import time
    from test1.logger import Logger
    
    mylog = Logger(logger='BasePage').getlog()
    
    class BasePage(object):
        """
        主要是把常用的几个Selenium方法封装到BasePage这个类;
        演示以下几个方法:
        back()
        forward()
        get()
        quit()
        """
        def __init__(self,driver):
            """
            写一个构造函数,有一个参数driver
            :param driver:
            """
            self.driver = driver
    
        def back(self):
            """
            浏览器后退按钮
            :return:
            """
            self.driver.back()
    
        def forward(self):
            """
            浏览器前进按钮
            :return:
            """
            self.driver.forward()
    
        def open_url(self,url):
            """
            打开url站点
            :param url:
            :return:
            """
            self.driver.get(url)
    
        def quit_browser(self):
            """
            关闭并停止浏览器服务
            :return:
            """
            self.driver.quit()
    
        def take_screenshot(self):
            """
            截图并保存在根目录下的Screenshots
            :return:
            """
            file_path = os.path.dirname(os.getcwd()) + '/Screenshots/'
            rq = time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
            screen_name = file_path + rq + '.png'
            try:
                self.driver.get_screenshot_as_file(screen_name)
                mylog.info("开始截图并保存")
    
            except Exception as e:
                mylog.error("出现异常",format(e))
    

      

      测试类test_screenshot.py代码:

    # coding=utf-8
    
    import time
    from selenium import webdriver
    from test1.basepage import BasePage
    
    class TestScreenshot(object):
        driver = webdriver.Chrome()
        driver.maximize_window()
        driver.implicitly_wait(10)
        basepage = BasePage(driver)
    
        def test_take_screen(self):
            self.basepage.open_url("https://www.baidu.com")
            time.sleep(1)
            self.basepage.take_screenshot()
            self.basepage.quit_browser()
    
    
    test = TestScreenshot()
    test.test_take_screen()
    

      

    参考文章:

  • 相关阅读:
    算法导论图论图的表示 课后题答案
    MFC 如何添加快捷键
    全排序算法permutation分析与总结
    java k++ 和C/C++ k++的区别
    找回失去的快捷方式向导
    解开注册表中U盘禁止拷贝的限制
    锐捷多网卡解决方案 与当前环境冲突(Code 2)
    Delphi中的Access技巧集
    Delphi MessageBox对话框
    另一个博客,不知道好用不
  • 原文地址:https://www.cnblogs.com/zhaocbbb/p/12661199.html
Copyright © 2020-2023  润新知