webdriver提供了截图函数,get_screenshot_as_file(),可以很方便的在自动化测试过程中运用到,记录测试过程。在我们遇到错误无法继续测试的时候,调用此函数截图,然后保存到指定路径。同样,每一个页面或者功能步骤,也可以进行截图保存,记录测试结果。
get_screenshot_as_file()没有很大的局限性,什么时候需要,什么时候拿过来用,下面拿登录豆瓣网做一个例子,代码如下:
# coding=utf-8
from selenium import webdriver
driver=webdriver.Firefox()
try:
driver.get("https://www.douban.com/accounts/login?redir=https%3A//accounts.douban.com/")
driver.find_element_by_id("email").clear()
driver.find_element_by_id("email").send_keys("171XXXX15@qq.com")
driver.find_element_by_id("password").clear()
driver.find_element_by_id("password").send_keys("x520025ao1")
driver.get_screenshot_as_file("d:/img/lod.png")
driver.find_element_by_xpath("//input[@name='login']").click()
except:
driver.get_screenshot_as_file("d:/img/error.png")
driver.close()
上面代码中,有两处用到了截图,分别是登录页面跟抛出异常的时候。
小贴士:在恰当的地方调用截图函数,截图后管理好截图文件,更加方便我们对测试结果的跟踪与维护。