zoukankan      html  css  js  c++  java
  • 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()
    

      

    参考文章:

  • 相关阅读:
    CodeForces 500C New Year Book Reading
    CodeForces 460B Little Dima and Equation 枚举
    CodeForces 451B Sort the Array
    【jquery】jQuery实现轮播图
    【IDEA】IDEA技巧记录
    【eclipse】日常使用eclipse记录
    【SSM】spring配置文件中读取配置文件的三种方式
    【Git】IDEA克隆和提交项目于码云
    semantic UI—表单验证
    【spring Data Jpa】JPA生成数据库表
  • 原文地址:https://www.cnblogs.com/zhaocbbb/p/12661199.html
Copyright © 2011-2022 走看看