测试用例中截取异常图片时,单独存储一个目录,并记录到测试执行记录中
2017-02-09 14:32
351 查看
封装一个截图存储的方法:
如果当前页面有滚动条,这里增加了滚动所有页面展示并截图,如下
def printScreen(self,save_fn):
self.driver.execute_script("""
(function () {
var y = 0;
var step = 100;
window.scroll(0, 0);
function f() {
if (y < document.body.scrollHeight) {
y += step;
window.scroll(0, y);
setTimeout(f, 50);
} else {
window.scroll(0, 0);
document.title += "scroll-done";
}
}
setTimeout(f, 1000);
})();
""")
for i in xrange(30):
if "scroll-done" in self.driver.title:
break
time.sleep(1)
self.driver.save_screenshot(save_fn)
测试用例循环执行,并当出现异常时,截图保存,且把图片名称存储到测试执行记录中
for k in range(0,len(testcaseStepList)):
#执行用例步骤
teststep=testcaseStepList[k]
if teststep.__getisrun__()==1:
try:
#设置测试步骤开始执行时间
t=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
teststep.__settestcasestepstarttime__(t)
#执行测试步骤
self.executeTestStep(testsuite,testcase,teststep)
#设置测试步骤结束执行时间
t=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
teststep.__settestcasestependtime__(t)
#设置测试步骤运行结果为"1"成功
teststep.__setresult__(1)
except Exception as e:
#存放异常截图的路径
t=time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
pngname=teststep.__gettestcasename__()+t+".png"
dirpath=os.path.abspath("..")+"\\Testresult\\ExceptPic\\"
save_fn=dirpath+pngname
TestWebDriver().printScreen(save_fn)
#测试步骤的异常截图名称
teststep.__setErrorpic__(pngname)
print teststep.__gettestcasename__(),"-测试步骤执行异常!",('%s' % e)
#设置测试步骤运行结果为"0"成功
teststep.__setresult__(0)
如果当前页面有滚动条,这里增加了滚动所有页面展示并截图,如下
def printScreen(self,save_fn):
self.driver.execute_script("""
(function () {
var y = 0;
var step = 100;
window.scroll(0, 0);
function f() {
if (y < document.body.scrollHeight) {
y += step;
window.scroll(0, y);
setTimeout(f, 50);
} else {
window.scroll(0, 0);
document.title += "scroll-done";
}
}
setTimeout(f, 1000);
})();
""")
for i in xrange(30):
if "scroll-done" in self.driver.title:
break
time.sleep(1)
self.driver.save_screenshot(save_fn)
测试用例循环执行,并当出现异常时,截图保存,且把图片名称存储到测试执行记录中
for k in range(0,len(testcaseStepList)):
#执行用例步骤
teststep=testcaseStepList[k]
if teststep.__getisrun__()==1:
try:
#设置测试步骤开始执行时间
t=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
teststep.__settestcasestepstarttime__(t)
#执行测试步骤
self.executeTestStep(testsuite,testcase,teststep)
#设置测试步骤结束执行时间
t=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
teststep.__settestcasestependtime__(t)
#设置测试步骤运行结果为"1"成功
teststep.__setresult__(1)
except Exception as e:
#存放异常截图的路径
t=time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))
pngname=teststep.__gettestcasename__()+t+".png"
dirpath=os.path.abspath("..")+"\\Testresult\\ExceptPic\\"
save_fn=dirpath+pngname
TestWebDriver().printScreen(save_fn)
#测试步骤的异常截图名称
teststep.__setErrorpic__(pngname)
print teststep.__gettestcasename__(),"-测试步骤执行异常!",('%s' % e)
#设置测试步骤运行结果为"0"成功
teststep.__setresult__(0)
相关文章推荐
- 5.11 一个用Spring AOP实现异常处理和记录程序执行时间的实例
- Ruby元编程:执行某个目录下的全部测试用例
- 一个用Spring AOP实现异常处理和记录程序执行时间的实例(一)
- net自动化测试之道API测试-存储测试用例执行结果
- 一种奇怪的错误,执行一个junit测试用例,代码却执行了很多遍
- Python自动化测试例子--一个简单的自动化测试用例脚本--批量执行测试用例
- 存储图片到数据库中的一个异常信息
- 有一条记录,其中有一个字段是图片路径,删除记录同时也要删除图片的执行顺序?
- 测试用例顺序执行时,若上一个用例未退出iframe,下一个测试用例默认需要一次退出iframe,否则定位iframe出现错误
- 【selenium】python+selenium+unittest,关于每次执行完一个测试用例都关闭浏览器等时间较长的问题之解决方案
- 给你一个输入框,可存文字,图片,视频,书写测试用例
- oracle中Job定期执行存储过程刷新物化视图并记录异常(我的物化视图不能自己刷)
- 一个用Spring AOP实现异常处理和记录程序执行时间的实例(二)
- 一个用Spring AOP实现异常处理和记录程序执行时间的实例--邵京国
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- MyBatis用Map接收结果集,在测试的时候会出现一个返回多条记录的异常。TooManyResultsException
- 写了一个分页存储过程把总记录数也写到返回表的每行了
- 老外写的一个测试用例
- 老外写的一个测试用例
- 使用trace方法和trace属性记录Page目录中网页的执行情况