python自动化测试selenium屏幕截图示例
时间:2022-06-05 11:18:42|栏目:Python代码|点击: 次
WebDriver内置了测试中捕获屏幕并保存的方法。
示例脚本:
(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()
运行结果:
(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()
运行结果: