脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python自动化测试selenium屏幕截图示例

python自动化测试selenium屏幕截图示例

2022-03-01 00:17aovenus Python

这篇文章主要为大家介绍了python自动化测试selenium屏幕截图示例实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

WebDriver内置了测试中捕获屏幕并保存的方法。

python自动化测试selenium屏幕截图示例

示例脚本:

(1)save_screenshot(filename):保存屏幕截图

from selenium import webdriver
from time import sleep,strftime,localtime,time
import os
class TestScreenShot(object):
  def setup(self):
      self.driver = webdriver.Chrome()
      self.driver.get("http://www.baidu.com")
  def test_screen(self):
      self.driver.save_screenshot("testbaidu.png") 
  def teardown(self):
      self.driver.quit()
if __name__ == '__main__':
  shot=TestScreenShot()
  shot.test_screen()

(2)get_screenshot_as_base64():获取当前屏幕截图base64编码字符串

from selenium import webdriver
from time import sleep,strftime,localtime,time
import os 
class TestScreenShot(object):
  def setup(self):
      self.driver = webdriver.Chrome()
      self.driver.get("http://www.baidu.com")
  def test_screen(self):
      self.driver.save_screenshot("testbaidu.png")
      print(self.driver.get_screenshot_as_base64()) 
  def teardown(self):
      self.driver.quit()
if __name__ == '__main__':
  shot=TestScreenShot()
  shot.test_screen()

运行结果:

python自动化测试selenium屏幕截图示例

(3)get_screenshot_as_file(filename):获取当前屏幕截图,使用完整路径

from selenium import webdriver
from time import sleep,strftime,localtime,time
import os 
class TestScreenShot(object):
  def setup(self):
      self.driver = webdriver.Chrome()
      self.driver.get("http://www.baidu.com")
  def test_screen(self):
      self.driver.get_screenshot_as_file("testbaidu2.png") 
  def teardown(self):
      self.driver.quit()
if __name__ == '__main__':
  shot=TestScreenShot()
  shot.test_screen()

(4)get_screenshot_as_file(filename):获取当前屏幕截图,使用完整路径,文件名以时间命名

from selenium import webdriver
from time import sleep,strftime,localtime,time
import os
class TestScreenShot(object):
  def setup(self):
      self.driver = webdriver.Chrome()
      self.driver.get("http://www.baidu.com")
  def test_screen(self):
      # print(self.driver.get_screenshot_as_png())
      # self.driver.get_screenshot_as_file("testbaidu2.png")
      # self.driver.save_screenshot("testbaidu.png")
      # print(self.driver.get_screenshot_as_base64())
      self.driver.find_element_by_id("kw").send_keys("selenium test")
      self.driver.find_element_by_id("su").click()
      str = strftime("%Y-%m-%d-%H-%M-%S",localtime(time()))
      filename = str + ".png"
      path =os.path.abspath("screenshots")
      filepath=path + '/'+filename
      self.driver.get_screenshot_as_file(filepath)
      print(filepath) 
  def teardown(self):
      self.driver.quit()
if __name__ == '__main__':
  shot=TestScreenShot()
  shot.test_screen()

(5)get_screenshot_as_png():获取当前屏幕截图的二进制文件数据

from selenium import webdriver
from time import sleep,strftime,localtime,time
import os 
class TestScreenShot(object):
  def setup(self):
      self.driver = webdriver.Chrome()
      self.driver.get("http://www.baidu.com")
  def test_screen(self):
      print(self.driver.get_screenshot_as_png()) 
  def teardown(self):
      self.driver.quit()
if __name__ == '__main__':
  shot=TestScreenShot()
  shot.test_screen()

运行结果:

python自动化测试selenium屏幕截图示例

以上就是python自动化测试selenium屏幕截图示例的详细内容,更多关于selenium屏幕截图示例的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/aovenus/article/details/121180311

延伸 · 阅读

精彩推荐