對selenium自帶的截圖功能進行封裝:python
如下爲封裝的代碼,自定義一個.py文件便可,圖片路徑本身設置一個。web
1 #coding:utf-8 2 3 class Screen(object): 4 ''' 5 封裝的截圖類,webdriver自帶的get_screenshot_as_file() 6 在使用過程當中,注意driver參數的傳遞 7 ''' 8 def __init__(self, driver): 9 ''' 10 寫一個構造函數,有一個參數driver 11 ''' 12 self.driver = driver 13 14 15 def save_screen(self): 16 ''' 17 截圖並保存在根目錄下的Screenshots文件夾下,並傳輸參數caseName 18 ''' 19 self.log = TestLog().getlog() 20 img_time = time.strftime("%Y_%m_%d_%H_%M_%S_") 21 img_path = "D:\\python\\workspace\\pythontest\\screenshot\\" 22 img_name = img_path + img_time + 'screen.png' 23 self.img_info = "截圖路徑:" + img_name 24 try: 25 self.driver.get_screenshot_as_file(self.img_info) 26 self.log.info(self.img_info) 27 except Exception as e: 28 self.log.info("截圖異常->", e) 29 format(e)
我認爲這其中主要的難點就是driver參數的傳遞。ide
前提必須引用selenium中的webdriver,賦值driver = webdriver.Firefox(),而後把driver參數傳遞到封裝的模塊中。函數