selenium提供的截图功能

时间:2023-03-10 01:16:00
selenium提供的截图功能
get_screenshot_as_file()提供一个截屏功能。在自动化执行过程中,执行失败后只能看到代码的运行错误,而不能直接看到ui上的错误,利用截屏保存下来很容易的进行问题的判断

先来执行一个通过的用例:
 from selenium import webdriver
 import time
 import os

 def test_search_baidu():
     driver = webdriver.Chrome()
     driver.implicitly_wait(5) # 隐性等待5秒
     driver.get('http://www.baidu.com')

     word = '韩国 v 发觉你狗日价格每公斤'
     driver.find_element_by_id('kw').send_keys(word) # 搜索框中输入word
     driver.find_element_by_id('su').click() # 点击搜索
     time.sleep(1)

     # 判断,如果word在请求的页面中则通过,不在则截屏
     img_path = os.getcwd() # 保存截图的路径
     if word in driver.page_source:
         print('testcase is pass!')
     else:
         driver.get_screenshot_as_file(img_path+"fail_img.png")

     # 关闭浏览器
     driver.quit()

 # 运行程序
 if __name__ == '__main__':
     test_search_baidu()
 # 结果:testcase is pass!

改下代码,让用例执行成功后截图,失败后打印测试失败:

 from selenium import webdriver
 import time
 import os

 def test_search_baidu():
     driver = webdriver.Chrome()
     driver.implicitly_wait(5) # 隐性等待5秒
     driver.get('http://www.baidu.com')

     word = '韩国 v 发觉你狗日价格每公斤'
     driver.find_element_by_id('kw').send_keys(word) # 搜索框中输入word
     driver.find_element_by_id('su').click() # 点击搜索
     time.sleep(1)

     # 判断,如果word在请求的页面中通过则截图
     img_path = os.getcwd() # 保存截图的路径
     print(img_path)
     if word in driver.page_source:
         driver.get_screenshot_as_file(img_path + "sucess_img.png")
     else:
         print('testcase is fail!')

     # 关闭浏览器
     driver.quit()

 # 运行程序
 if __name__ == '__main__':
     test_search_baidu()

截图如下:
selenium提供的截图功能